SQL Server 学习笔记⑧- 触发器(修改前和修改后的语句插入指定表中)

本文介绍了如何在SQL Server中创建一个触发器,用于在表`表a`数据更新后,将修改前后的记录分别插入到`表b`中,以跟踪数据变化历史。通过示例展示触发器工作原理及查询结果。
摘要由CSDN通过智能技术生成
--测试数据
create table 表a
(
id int ,
name varchar(10),
price int ,
unit varchar(10),
rem  varchar(10)
)
insert into 表a
select 1,     '宝马',     100 ,    '辆',    '四川' union all
select 2,     '奔驰',      78,     '辆',    '北京' union all
select 3,     '夏利',       6,     '辆',    '上海'

--select * from  表a
create table 表b
(
xgid int,
id int ,
name varchar(10),
price int ,
unit varchar(10),
rem  varchar(10),
alterid int,
alterdate datetime
)
--触发器
create  TRIGGER tr_test
   ON  表a
   AFTER UPDATE
AS 
BEGIN
	
	SET NOCOUNT ON;
declare @maxid int
select @maxid=isnull(MAX(xgid),0)+1 from 表b

insert into 表b 
select xgid=@maxid,   id,   name,   price,    unit,    rem,    alterid=0, alterdate=GETDATE()
from deleted

insert into 表b 
select xgid=@maxid,   id,   name,   price,    unit,    rem,    alterid=1, alterdate=GETDATE()
from inserted

END
GO
--操作
update
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值