--测试数据
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
SQL Server 学习笔记⑧- 触发器(修改前和修改后的语句插入指定表中)
最新推荐文章于 2023-01-10 15:08:09 发布
本文介绍了如何在SQL Server中创建一个触发器,用于在表`表a`数据更新后,将修改前后的记录分别插入到`表b`中,以跟踪数据变化历史。通过示例展示触发器工作原理及查询结果。
摘要由CSDN通过智能技术生成