1、說明:建立資料庫
CREATE DATABASE
drop database dbname
3、說明:備份sql server
--- 建立備份資料的device
USE master ,
'testBack ' ,
'c:mssql7backupMyNwind_1.dat'
--- 開始備援
Back
4、說明:建立新表
create table tabname(col1 type1 [not null. not null ],.. )
根據現有的表格建立新表格:
A:
create table tab_new table B: create table tab_new as select col1,col2… oldfrom 5.說明:刪除新表
drop table tabname
6、說明:增加一個欄位
Alter table tabname
addtable tab註:列增加後將無法刪除。 DB2中欄位加上後資料型別也不能改變,唯一能改變的是增加 varchar 型別的長度。
7、說明:新增主鍵: Alter table tabname add primary主鍵: Alter table tabname drop primary key(col)
8、說明:建立索引:
8、說明:建立索引:
index idxname
on tabname(col….)
刪除索引:
drop index idxname
註:索引是不可更改的,必須刪除索引必須重新建立。
9、說明:建立檢視: create view viewname as select view viewname
10 、說明:幾個簡單的基本的sql語句
選擇:
select * from table1🜎 insert into table1 (field1,field2) values (value1,value2)
刪除:
delete from 更新: update table1
set field1=value1
where 範圍
查找: select * 查找: select * 查field1 like '%value1%' -- -like的語法很精妙,查詢資料!
排序: select * from table1 ]
總數: select count as totalcount as sumvalue from table1
平均: select avg (field1) as avgvalue
as avgvalue
最大值: select max (field1) as maxvalue fromtable min (field1)
as minvalue from table1
11、說明:幾個高階查詢運算子
A:透過組合其他兩個結果表(例如TABLE1 和TABLE2)並消去表中任何重複行而衍生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL ),不消除重複行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
B: EXCEPT 運算子
EXCEPT 運算子透過包含所有在 TABLE1 中但不在出行而出行的表當 ALL 隨 EXCEPT 一起使用 ( EXCEPT ALL ),不消除重複行。
C: INTERSECT 運算子
INTERSECT 運算子透過只包括 TABLE1 和 TABLE2 運算子透過只包括 TABLE1 和 TABLE2 中都有一個重複的行運算子透過 TABLE1 和一個行的結果。當 ALL 隨
INTERSECT 一起使用時 ( INTERSECT ALL
),不消除重複行。
註:使用運算詞的幾個查詢結果行必須是一致的。
12、說明:使用外部連接
A、 left ( outer 左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
SQL: <p><code>select a.a, a.b, a.c, b.c, b.d, b.f from b ON a.a = b.c B: right ( outer
) join :連接右行的所有行。
C: full / cross ( outer )匹配行,還包括兩個連接表中的所有記錄。
12、分組: Group by :
一張表,一旦分組完成後只能得到相關群組的資訊。
組相關的資訊:(統計資料)
count , sum , , sum 分組的標準) 在SQLServer中分組時:不能以text,ntext,image類型的字段作為分組依據
在13.對資料庫進行操作:
分離資料庫: sp_detach_db; 附加資料庫:sp_attach_db 後接表明,附加需要完整的路徑名
: 14. 'old_name' , 'new_name'
二、提升
1、說明:複製表(只複製結構,來源表名:a 新可用表名:a
法一: select * into b from a b from a b
法二: select top 0 * into b from a
2、說明:數字表名 insert into b(a, b, c) select d,e,f from d,e,f from b;使用絕對路徑) (Access可用)
insert into b(a, b, c) select d,e,f from here 條件
例子:.. from b
in '"&Server.MapPath(".")&"data.mdb" &"'子查詢(表名1:a 表名2:b)
select a,b,c from a where lect d
from b ) 或: select a,b,c from a IN from a )
5、說明:顯示文章、提交人和最後回复時間
select a.title,a.username,b.adddate from table a,( select max (adddate) adddate from table where table .title=a.title) b
6、說明名稱select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT a LEFT a.a = b.c
7、說明:線上視圖詢問(表名1:a )
select *
from ( SELECT t.a > 1;
8、說明: between 的用法, between 限制查詢資料範圍時包含了邊界值, not * from table1 where time between time1 and from table1 where a not between 數值1 and 數值2
9、說明: in
9、說明: in的使用方法 from table1 where a [ not ] in ('值1','值2','值4','值6')
10、說明:兩張關聯表,刪除主表中已經在副表中沒有的資訊
delete from table1 where not table2 where table1.field1= table2.field1 )
11、說明:四表聯查問題:
select * from b on a.a =b.b right inner join c on a.a=c.c 對 a.a=d.d where ..... 12、說明:行程提前五分鐘提醒
SQL: select * ' ,f開始時間,getdate())>5
13、說明:一條sql 語句搞定資料庫分頁
select top 10 b.select top 10 b.. top 20主鍵欄位,排序欄位 from 表名 order by 排序欄位 desc ) a,表名表名表名表名order by a.排序欄位
具體實作:
關於資料庫分頁: <p><code> declare @start int ,@ end int
set @sql=' select top '+str(@ end -@start+1)+'+ from T from T where🜎 ( select top '+str(@str-1)+'Rid from T where Rid>-1)'sql
注意:在 top
後不能直接跟一個變量,所以在實際應用中只有這樣的進行特殊的處理。 Rid為標識列,如果 top 後還有具體的字段,這樣做是非常有好處的。因為這樣可以避免 top
的字段如果是邏輯索引的,查詢的結果後實際表中的不一致(邏輯索引中的數據有可能和數據表中的不一致,而查詢時如果處在索引則首先查詢索引)
14、說明:前10條記錄
select top 10 * form table15 top 10 * form table15 每一組b值相同的數據中對應的a最大的記錄的所有資訊(類似這樣的用法可以用於論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.)
select a,b,c from tablename ta where a=(
select max e tb.b=ta.b )
16、說明:包括所有在TableA 中但不在TableB和TableC 中的行並消除所有重複行而派生出一個結果表
( 片) except ( select a from tableB) tableC)
17、說明:隨機取出10筆資料
select top 10 * from tablename .隨機選擇記錄
select newid ()
19、說明:刪除重複記錄
1), delete from tablename from ( select max (id) from tablename group by col1,col2,...) *
into temp from tablename
delete from tablename🜎 tablename select * from temp
評論: 這種操作牽連大量的數據的移動,這種做法不適合大容量但數據操作
3),例如:在一個外部表中導入數據,由於某些原因第一次只導入了一部分,但很難判斷具體位置,這樣只有在下一次全部導入,這樣也就產生好多重複的字段,怎樣刪除重複字段
alter table tablename
--添加一個自增列 -- add column_b int identity(1,1)
全部🜎莜 column_b not in
(
select max (column_b)
from tablename group by column1,columlumn2,...) tablename drop column column_b
20、說明:列出資料庫裡所有的表名
<p><code>select name from sysobjects where type= 'U'U'的所有的列名 select name from syscolumns 、vender、pcs字段,以type字段排列, case 可以方便地實現多重選擇,類似 select 中的 case 。
select type, sum ( case vender else 0 end ), sum ( case vender when 'C' then sum ( case vender when 'B' then pcs else 0 by type
顯示結果: type vender pcs
電腦A 1
電腦A 1
光碟B 223353353光盤🜎 手機C 3
23、說明:初始化表table1
TRUNCATE TABLE table1
24、說明:選擇從10到15的記錄
select top 5 * from ( select top 15 * from table order bytable order 片名order by id desc
三、技巧
1、1=1,1=2的使用,在SQL語句組合時用的較多
「
where where 1=2」全部不選,
如:
if @strWhere != '' 'select count (*) as Total from [' + @tblName + '] where ' + @strWhere
end set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
end
end
我們可以直接寫成 未找到目錄項。
set @strSQL = 'select count(*) as Total from [' + @tblName + '] --重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
3、壓縮資料庫 dbcc shrinkdatabase(dbname)
4、轉移資料庫給新使用者以已存在使用者權限
exec sp_change_users_login , ' oldname'
go
5、檢查備份集
RESTORE VERIFYONLY from 6、修復資料庫
ALTER DATABASE [dvbbs]
SET SINGLE_USER
GO _allow_data_loss) WITH TABLOCK
GO ALTER DATABASE [dvbbs] SET MULTI_USER
GO MULTI_USER
GO NOCOUNT ON
DECLARE @LogicalFileName sysname,
<p><code> @MaxMinutes INT ,
@NewSize<p><code>USE tablename -- 要操作的資料庫名稱
SELECT @LogicalFileName = Minutes = 10, - - Limit on time allowed to wrap log.
@NewSize = 1 -- 你想要設定的日誌檔案的大小(M)🜎🜎 @ OriginalSize
int
SELECT @OriginalSize =
size
WHERE name = @LogicalFileName
SELECT ' Original Size of ' + db_name() + ' LOG is ' +
)+
. ' 8K pages or ' +
CONVERT ( VARCHAR (30),(@OriginalSize*8/1024)*8/1024),(
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE
CREATE TABLE char (8000)
not null )
DECLARE @Counter INT ,
@StartTime DTIMEME VARCHAR (255)
SELECT @StartTime = GETDATE (),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ON,FI3]
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @Startup🜎 AND @OriginalSize = ( SELECT size FROM sysfiles WHERE sysfile
AND (@OriginalSize * 8 /1024) > @ NewSize
BEGIN -- Outer loop.
SELECT @Counter = 倒 SELECT @Counter = 倒@OriginalSize / 16)
AND (@ Counter
BEGIN -- update
INS7INSERTUE 'Fill Log' ) DELETE DummyTrans SELECT @Counter = @Counter + 1
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT ) +
' 8K pages or ' +
CONVERT ( VARCHAR (30),(
FROM sysfiles
WHERE name = @LogicalFileName
DROP= @LogicalFileName SET NOCOUNT
OFF
8、說明:更改某個表
exec sp_changeobjectowner 'tablename'
, 'dbo' ATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
@ OldOwner as NVARCHAR(128),
@NewOwner as NV @ Name as NVARCHAR(128 )
聲明 @Owner as NVARCHAR(128)
聲明 curObject 遊標 FOR 選擇 '名稱' =
名稱 ,
來自 sysobjects
在哪裡 user_name( uid)=@OldOwner
訂單 作者 名稱
OPEN FROM curObject INTO @ 名字 , @Owner
WHILE(@@FETCH_STATUS=0)
開始
如果@77=7m@73%開始 設定 @OwnerName = @OldOwner + '.' + rtrim(@ 名稱)
<p><code> 結束 -- 選擇@name,@NewOwner ,@老所有者
FETCH NEXT FROM curObject INTO @ 名稱 @Owner
END , 關閉 curObject
解除分配 curObject
GO
10、SQL SERVER中直接循環寫入資料
declare🜎 @i=1 而@i
開始
<p><code> 插入 到) 設定 @i=@ i+1 結束
案例:
有如下表,要求就裱中所有沒有及格的成績,在每次生長0.1的基礎上,使他們符合及格
: 姓名 分數
<p><code> 漳山80
力士 59
王武 50
松泉69
while(( 選擇 min(分數) 來自 tb_table)
開始
1.01
其中 分數<code> 如果( 選擇 分鐘 (分數)來自 阿 其他
繼續 結束 資料開發-經典
1.依姓氏筆畫排序:
按 顧客名稱 整理 Chinese_PRC_Stroke_ci_as //從少到多
2.資料庫加密:
select encrypt()(' lect pwdencrypt( '原始密碼' )
select pwdcompare(
'原始密碼' , '加密後密碼'
) = 11%)-- select pwdcrypt ( '原始密碼' )
select ) = 1 - -相同;否則是 3.取回表中欄位:
declare @list varchar (1000),1000),030%
<p><code>select @list=@list+ ',' +b. name from sys and a. name = '表A'
set @sql=
'select ' ' from 表A'
exec (@sql)
4.查看硬碟上
5.比較A,B表是否相等:
if (<p><code>select checksum_agg(binary_checksum(*)) from A)
<p><code> (<p><code>select checksum_agg(binary_checksum (*)) from B) print '相等'
elsese.掉所有的事件探察器進程:
DECLARE hcforeach CURSOR GLOBAL FOR 5SELECT FROM master.dbo.sysprocesses
WHERE program_name IN ( 'SQL profiler',N 'SQL 事件探查器') 'SQL 事件探查器' ?'
7.記錄搜尋:
開頭到N筆記錄
Select Top N *
From -------------
N到M筆記錄(要有主索引ID)
Select Top M-N * Top M-NH ID in ( Select Top M ID Desc
-------- --------------------------
N到結尾記錄
Select Top N *
From 表
Order by ID Desc
ID Desc
案例 寫字SQL語句,找出表格的第31到第40個記錄。
select top 10 recid from in ( select top 30 recid from A)
分析:如果這樣寫會產生某些問題,如果recid在表中存在邏輯索引。
select top 10 recid from A top 30 recid from A則在資料表中查找,這樣由於索引中的順序有可能和資料表中的不一致,這樣就導致查詢到的不是本來的慾得到的資料。
解
1, 用 order by select order by ricid 如果此欄位不是自成長,就會出現問題
2, 在那個子查詢中也加入條件: select top 30 recid from 30 recid
from 30 recid
from
例2:查詢表中的最後以筆記錄,並不知道這個表共有多少資料,以及表格結構。
set @s = 'select top 1 * from T where pid not in (select top ' + str(@ count -1) + ' pid from T)'
print @s exec sp_executesql @s
9:取得目前目前的所有使用者表
9:取得目前目前的所有使用者表 <p><code>select Name from sysobjects where x 10:取得某一個表格的所有欄位
select name from syscolumns
where id=object_id( ' id=object_id( '表名')' ) from syscolumns where id in ( select id from sysobjects where = '表名' )
兩種方式的效果相同
11:查看與某一個表格相關的視圖、預存程序、函數
select a.* from a.id = b.id and b.text like '%表名%'
12:查看當前數據庫中所有存儲過程
select name as 預存程序名稱 from sysobjects where xtype= 'P'
xtype= 'P'
<p><code> * from master. .sysdatabases D where sid not in ( select name ='sa' )
或
select dbid, name AS 🎝 sid 0x01
14:查詢某一個表格的欄位與資料型態
select column_name,data_type from information_schema.columnstable
15:不同伺服器資料庫之間的資料操作
--建立連結伺服器
exec sp_addlinkedserver 'ITSV ' , '遠端伺服器名稱或ip位址'
exec sp_addlinkedsrvlogin 'ITSV '
, 'falseo , '密碼'
--查詢範例
select *
from ITSV.資料庫名稱.dbo.表名
lect into 表 from ITSV.資料庫名稱.dbo.表名
--以後不再使用時刪除連結伺服器
exec sp_drdropopf p ' --連接遠端/區域網路資料(openrowset/openquery/opendatasource)
--1、openrowset
--查詢範例 set( 'SQLOLEDB ' , 'sql伺服器名稱' ; '用戶名' ; '密碼' ,, .
select * into 表 from openrowset( '用戶名' ; '密碼' ,資料庫名稱.dbo.表名)
--把本地表導入遠端表
insert openrowset( 'SQL ; '用戶名' ; '密碼' ,資料庫名稱.dbo.表名)
<p><code>select🜎 --更新本地表
update b
set b.欄A=a.欄A <p><code> from openrowset( 'SQLOLEDB ' , 'sql台 ' ,資料庫名稱.dbo.表名) as a inner join 本地表b
on
- -先建立一個連線建立連結伺服器
exec sp_addlinkedserver
'ITSV ' ,
' ''伺服器名稱或ip位址'
--查詢
select *
FROM openquery(ITSV, FROM openquery(ITSV, FROM openquery(ITSV,Š FROM
--把本地表導入遠端表
insert openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名' ) 本地表
- -更新本地表
update b
set b.欄B=a.欄B 資料庫.dbo.表名' ) as a
inner join . 、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB '名' ).test. dbo.roy_ta
--把本地表導入遠端表
insert opendatasource( 'SQLOLEDB ' opendatasource( 'SQLOLEDB ' opendatasource
'SQLOLEDB ' ,Ser名 名;密碼').資料庫.dbo.表名
select * from 表 SQL 1.字符字串函數長度與分析用
1,datalength(Char_expr) 傳回字串包含字元數,但不包含後面的空格
2,
substring (ex ,字串的下標是從“1”,start為起始位置,length為字串長度,實際應用中以len(expression)取得其長度
3, right (char_expr,int_expr ) 傳回字串右邊第int_expr個字符,也用 left
於之相反
4, isnull ( check_expression , isnull( check_expression , replacement_value 則為不帶空,就回傳check_expression字元操作類別
5,Sp_addtype 自訂資料類型
例如: EXEC sp_addtype birthy. set nocount { on | off}
使傳回的結果不包含受Transact-SQL 語句影響的行數的資訊。如果儲存過程中包含的某些語句不會傳回許多實際的數據,則該設定由於大量減少了網路流量,因此可顯著提高效能。 SET NOCOUNT 設定是在執行或運作時設定,而不是在分析時設定。
SET NOCOUNT 為 ON 時,不回傳計數(表示受 Transact-SQL 語句影響的行數)。
SET NOCOUNT 為 OFF 時,回傳計數
SQL時,回傳計數 或張面:256 在SQL語句中出現 Order by ,查詢時,先排序,後取
在SQL中,一個欄位的最大容量是8000,而對nvarnvarnvar Unicode碼。
SQLServer2000同步複製技術實作步驟
一、 預備工作
1.發布一個服務的密碼快照資料夾的有效存取使用者
--管理工具
--電腦管理
--使用者和群組
--右鍵使用者
--新建使用者
--建立一個隸屬於administrator群組的登陸windows的使用者(SynUser)
2.在發布目錄上做為發佈的快照檔案的存放目錄,操作:
我的電腦 --D: 新建一個目錄,名為: PUB
--右鍵這個新建的目錄
--右鍵這個新建的目錄
--右鍵這個新建的目錄
--右鍵這個新建的目錄屬性--共享
--選擇"共享該資料夾"
--透過"權限"按紐來設定具體的使用者權限,保證第一步中建立的使用者(SynUser) 具有對該資料夾的所有權限
--確定
3.設定SQL代理(SQLSERVERAGENT)服務的啟動用戶(發布/訂閱伺服器都做此設定) 程式開始 開始--管理工具--服務
--右鍵SQLSERVERAGENT
--屬性--登陸--選擇"此賬戶"
--輸入或者選擇第一步中創建的windows登錄用戶名( SynUser)
--"密碼"中輸入該使用者的密碼
4.設定SQL Server驗證模式,解決連線時的權限問題(發佈/訂閱伺服器皆做此設定)
企業管理器
--右鍵SQL實例--屬性
--安全性--驗證
--選擇"SQL Server 和Windows"-- 5.在發布伺服器和訂閱伺服器上互相註冊
企業管理器
--右鍵SQL Server群組
--下一步 --下一步 --可用的伺服器中,輸入你要註冊的遠端伺服器名稱--新增
--下一步--連接使用,選擇第二個"SQL Server驗證"
--下一步- -輸入使用者名稱與密碼(SynUser)
--下一步--選擇SQL Server群組,也可以建立一個新群組
--下一步--完成
6.對於只能用IP,不能用電腦名稱的,為其註冊伺服器別名(此步在實施中沒用到)
(在連接端配置,比如,在訂閱伺服器上配置的話,伺服器名稱中輸入的是發佈伺服器的IP)
開始 --程式--Microsoft SQL Server--客戶端網路公用工具
--別名--新增
--網路庫選擇」 "--伺服器別名輸入SQL伺服器名稱
--連接參數--伺服器名稱中輸入SQL伺服器ip位址
--如果你修改了SQL的連接埠,取消選擇"動態決定連接埠",並輸入對應的連接埠號碼
二、 正式設定
1、設定發布伺服器
開啟企業管理器,在發布伺服器(B、C、D)上執行下列步驟(1) 從[工具]下拉選單的[複製]子選單中選擇[配置發布、訂閱伺服器和分發]出現設定發佈和分發精靈
(2) [下一步] 選擇分發伺服器可以選擇把發布伺服器本身作為分發伺服器或其他sql的伺服器(選擇自己)
(3) [下一步] 設定快照資料夾
採用預設\servernamePub
採用預設\servernamePub
(4) [下一步] 自定義44)配置
可以選擇:是,讓我設定分發資料庫屬性啟用發布伺服器或設定發佈設定
否,使用下列預設設定(建議)
(5) [下一步] 設定分發資料庫名稱和位置採用預設值
(6) [下一步] 啟用發布伺服器選擇作為發布的伺服器
(7) [下一步] 選擇需要發布的資料庫和發布類型
(8 ) [下一步] 選擇註冊訂閱伺服器
(9) [下一步] 完成設定
2、建立出版品
發布伺服器從[工具]選單的[複製]子選單中選擇[建立和管理發佈]指令
(2)選擇要建立出版品的資料庫,然後點選[建立發佈]
(3)在[建立發佈精靈]的提示對話方塊中點選[下一步]系統就會跳出對話方塊。對話方塊上的內容是複製的三種類型。我們現在選第一個也就是預設的快照發佈(其他兩個大家可以去看看幫助)
(4)點選[下一步]系統要求指定可以訂閱該發佈的資料庫伺服器類型, SQLSERVER允許在不同的資料庫如orACLE或ACCESS之間進行資料複製。
但是在這裡我們選擇運行 "SQL SERVER 2000" 的資料庫伺服器
(5)點擊[下一步]系統就彈出一個定義文章的對話框也就是選擇文章的對話框表
注意: 如果前面選擇了交易發布則再這一步驟只能選擇帶有主鍵的表
(6)選擇發布名稱和描述
(7)自訂發布屬性精靈提供的選擇:
是我將自訂資料篩選,啟用匿名訂閱和或其他自訂屬性 是我將自訂資料篩選,啟用匿名訂閱和或其他自訂屬性
否根據指定方式建立發布(建議採用自訂的方式)
(8)[下一步] 選擇篩選發布的方式
(9)[下一個] 可以選擇是否允許匿名訂閱
(9)[下一步]可以選擇是否允許匿名訂閱 1)如果選擇署名訂閱,則需要在發布伺服器上新增訂閱伺服器
方法: [工具]->[複製]->[配置發布、訂閱伺服器和分發的屬性]->[訂閱伺服器] 中新增
否則在訂閱伺服器上請求訂閱時會出現的提示:改發布不允許匿名訂閱
如果仍然需要匿名訂閱則用以下解決辦法
[企業管理器]- >[複製]->[發佈內容]->[屬性]->[訂閱選項] 選擇允許匿名請求訂閱
2)如果選擇匿名訂閱,則配置訂閱伺服器時不會出現以上提示 (10)[下一步] 設定快照代理程式調度
(11)[下一步] 完成設定
當完成出版物的創建後創建出版物的資料庫也變成了一個共享資料庫
有資料
srv1.庫名..author有欄位:id,name ,phone, . ,telphone,adress
要求:
srv1.庫名..author增加記錄則srv1.庫名..author記錄增加
srv1.則srv1.庫名..author對應字段telphone更新
--*/
--大致的處理步驟
--1.在srv1 上建立連接伺服器srv2,實作同步
exec sp_addlinkedserver 'srv2' , '' '
exec sp_addlinkedsrvlogin 'srv2'
, 'false' , null '
go
- -2.在srv1 和srv2 這兩台電腦中,啟動msdtc(分散式事務處理服務),並且設定為自動啟動
。我的電腦 --控制面板--管理工具--服務--右鍵Distributed Transaction Coordinator--屬性--啟動--並將啟動類型設定為自動啟動
go
--然後建立作業定時呼叫上面的同步處理預存程序就行了
企業管理器
--管理
--右代理作業新作業
--"常規"項目輸入作業名稱
--"步驟"項目
--新 -- --"類型"中選擇"Transact-SQL 腳本(TSQL)"
--"資料庫"選擇執行指令的資料庫
--"指令"中輸入要執行的語句: exec p_process
--確定
--"調度"項
--新調度
--"名稱"中輸入調度名稱中排程名稱--"--"的作業執行排程
--如果選擇"重複出現"
--點"更改"來設定你的時間安排
然後將SQL Agent服務啟動,並設定為自動啟動,否則你的作業不會被執行
設定方法:
我的電腦 --控制面板--管理工具--服務--右鍵SERVERAGENT--屬性--啟動類型--選擇"自動啟動類型--選擇"自動啟動"--確定.
--3.實現同步處理的方法2,定時同步
--在srv1中建立如下的同步處理預存程序
create🜎
as
--更新修改過的資料
update b
set. from srv2 .庫名.dbo.author b,author i
where b.id=i.id and
(b. name i. name or b.telphone i.telphone)
--插入新增的資料
insert srv2.庫名.d.. select id,
name ,telphone from author i
where not where not exists(
select * fromd i.id)
--刪除已經刪除的資料(如果需要的話)
delete b
from srv2. (
select * from author where id=b.id)
go
以上就介紹了mysql sql語句集錦,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
|