SQLServer 觸發(fā)器 數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)備份
更新時(shí)間:2009年07月26日 21:59:07 作者:
首先,你需要建立測(cè)試數(shù)據(jù)表,一個(gè)用于插入數(shù)據(jù):test3,另外一個(gè)作為備份:test3_bak
復(fù)制代碼 代碼如下:
create table test3(id int primary key not null
identity(1,1),uname varchar(20),uage int);
create table test3_bak(id int primary key not
null identity(1,1),bid int,uname varchar(20),
uage int,active char(1));
第二步,編寫備份用的觸發(fā)器,只有更新或者是插入的時(shí)候才觸發(fā)
復(fù)制代碼 代碼如下:
alter trigger test3_bak_insert_update
on test3
for insert,update
as
declare @id int
declare @uname varchar(20)
declare @uage int
begin
select @id=id,@uname=uname,@uage=uage from inserted
if @id<>0
begin
update test3_bak set active='0' where bid=@id
insert into test3_bak(bid,uname,uage,active)
values(@id,@uname,@uage,'1')
end
end
第三步,測(cè)試數(shù)據(jù):
復(fù)制代碼 代碼如下:
insert into test3(uname,uage) values('FLB',20)
insert into test3(uname,uage) values('FLB1',21)
insert into test3(uname,uage) values('FLB2',22)
update test3 set uage=100 where id=27
delete from test3 where id=20
最后,你可自己采用下面方法查詢跟蹤兩個(gè)表的數(shù)據(jù)變化:
復(fù)制代碼 代碼如下:
select * from test3
select * from test3_bak
相關(guān)文章
SQL Server的鏈接服務(wù)器技術(shù)小結(jié)
這篇文章主要介紹了SQL Server的鏈接服務(wù)器技術(shù)的相關(guān)資料,需要的朋友可以參考下2014-07-07
SQL Server 2005 創(chuàng)建簡(jiǎn)單的存儲(chǔ)過(guò)程--總結(jié)分析
本篇文章是對(duì)使用SQL Server 2005創(chuàng)建簡(jiǎn)單的存儲(chǔ)過(guò)程進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
根據(jù)日期知道當(dāng)天是星期幾的手動(dòng)計(jì)算方法
在網(wǎng)上看到一篇文章,非常有意思,根據(jù)日期知道當(dāng)天是星期幾的方法,來(lái)看看吧。2010-03-03
sql?server自動(dòng)生成拼音首字母的函數(shù)
建立一個(gè)查詢,執(zhí)行語(yǔ)句生成函數(shù)fn_GetPy,下面是具體的實(shí)現(xiàn),需要的朋友可以參考下2014-01-01
SQL附加數(shù)據(jù)庫(kù)失敗問(wèn)題的解決方法
這篇文章主要為大家詳細(xì)介紹了SQL附加數(shù)據(jù)庫(kù)失敗問(wèn)題的解決方法,感興趣的小伙伴們可以參考一下2016-03-03
sqlserver下將數(shù)據(jù)庫(kù)記錄的列記錄轉(zhuǎn)換成行記錄的方法
sqlserver下將數(shù)據(jù)庫(kù)記錄的列記錄轉(zhuǎn)換成行記錄的方法分享,需要的朋友可以參考下。2011-07-07
sql server中千萬(wàn)數(shù)量級(jí)分頁(yè)存儲(chǔ)過(guò)程代碼
sql server中千萬(wàn)數(shù)量級(jí)分頁(yè)存儲(chǔ)過(guò)程代碼...2007-04-04

