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)