我正在使用SQL Server,我想知道是否有办法在表上创建一个触发器,允许在更新之前复制其原始数据,并在另一个表中更新后复制其修改后的数据?
如果是,我怎么能区分两者?
谢谢:)
@SouravA
create trigger SomeBeforeUpdateTrigger
on YourTable
before update
as
insert into SecondTable (ID, Name)
select ID, Name
from deleted;
go
insert into SecondTable (ID, NewName)
select ID, Name
from inserted;
答案 0 :(得分:0)
如果我理解正确,是的,这是可能的。您基本上需要BEFORE UPDATE
触发器。
create trigger SomeBeforeUpdateTrigger
on YourTable
before update
as
insert into BeforeUpdate (ID, Name)
select ID, Name
from deleted;
go
insert into AfterUpdate (ID, Name)
select ID, Name
from inserted;
第一个语句会将这些行插入到表BeforeUpdate
中,这些行正在被更改。第二个将新行插入表AfterUpdate
。