----因为update就是先delete,然后insert
create trigger t_a_u on a
for update
as
declare
@rows int
select @rows=@@rowcount ---把@@rowcount记录下来,防止变化
if @@rowcount<1 return ---没有修改
if update(a1) --修改了第一个字段a1,你也可以判断其他的条件
begin
---update ....
if exists(select * from deleted) and @rows>=1 --修改以前的值
insert into b select D.a1,'Update Old' from deleted D
if exists(select * from inserted) and @rows>=1 --修改以后的值
insert into b select I.a1,'Update New' from inserted I
end
return
----因为update就是先delete,然后insert
create trigger t_a_u on a
for update
as
declare
@rows int
select @rows=@@rowcount ---把@@rowcount记录下来,防止变化
if @@rowcount<1 return ---没有修改
if update(a1) --修改了第一个字段a1,你也可以判断其他的条件
begin
---update ....
if exists(select * from deleted) and @rows>=1 --修改以前的值
insert into b select D.a1,'Update Old' from deleted D
if exists(select * from inserted) and @rows>=1 --修改以后的值
insert into b select I.a1,'Update New' from inserted I
end
return