sql中同一个Trigger里同时包含Insert,Update,Delete

时间:2020-12-15 04:31:23

sql中同一个Trigger里同时包含Insert,Update,Delete

SQLServer是靠Inserted表和Deleted表来处理的,判断一下就可以了,只不过比ORACLE麻烦一点 

create trigger 触发名 on 表名
instead of insert,update,delete
as
--insert插入
if not exists(select 1 from deleted)
begin
打印插入
end --update更新
if exists(select 1 from inserted) and exists(select 1 from deleted)
begin
打印修改
end --delete删除
if not exists(select 1 from inserted)
begin
打印删除
end
go 只判断更改了某列
if update(colname)