木子屋 Dnawo's BLOG

SQL Server触发器判断当前操作类型(insert/update/delete)示例

👤 dnawo 📅 2014-05-25 👁 5849 👍 0 💬 0 🔄 来源:本站原创
SQL Server触发器要判断当前操作类型,可根据inserted和deleted两张表是否有数据进行判断:

·只有inserted表有数据时,当前操作为insert;
·inserted和deleted两张表都有数据时,当前操作为update;
·只有deleted表有数据时,当前操作为delete。

SQL Server触发器判断当前操作类型(insert/update/delete)示例

create trigger updateRowVersion on PPM_JobBill
after insert,update,delete
as
begin
	declare @inserted int, @deleted int
	select @inserted=COUNT(*) from inserted
	select @deleted=COUNT(*) from deleted
	if @inserted>0 and @deleted=0
	begin
		--insert
	end
	else if @inserted>0 and @deleted>0
	begin
		--update
	end
	else if @inserted=0 and @deleted>0
	begin
		--delete
	end
end
go

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 SQL Server标量值函数:datetime转为tick 下一篇 → Chrome实用技巧:全局搜索字符串