SQLServer 触发器 数据库进行数据备份

2023年 4月 16日 35.1k 0

复制代码 代码如下: 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)); 第二步

复制代码 代码如下:   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));   第二步,编写备份用的触发器,只有更新或者是插入的时候才触发 复制代码 代码如下:   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   第三步,测试数据: 复制代码 代码如下:   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   最后,你可自己采用下面方法查询跟踪两个表的数据变化: 复制代码 代码如下:   select * from test3   select * from test3_bak

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论