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

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)

 

posted @ 2016-04-29 10:15  davidhou  阅读(2933)  评论(0编辑  收藏  举报