技术开发 频道

怎样用触发器对SQL Server进行数据备份


【IT168技术文档】

  用触发器对SQL Server进行数据备份:

  1、建立测试数据表:

  一个用于插入数据,test3

  另一个作为备份,test3_bak
  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));
  2、编写备份用的触发器,只有更新或者是插入的时候才触发
  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
  3、测试数据:
  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
  4、可自己采用下面的查询踪两个表的数据变化:
  select * from test3   select * from test3_bak
0
相关文章