我正在考虑一个SQL触发器来处理INSERT,UPDATE和DELETE操作,作为审计过程的一部分.
是否有任何语句,函数或@@变量我可以查询找出哪个操作类型启动了触发器?
我见过以下模式:
declare @type char(1)
if exists (select * from inserted)
if exists (select * from deleted)
select @Type = 'U'
else
select @Type = 'I'
else
select @Type = 'D'
但还有什么更直接或明确的东西?
谢谢,
尼尔.
最佳答案 Oracle具有INSERTING,DELETING和UPDATING条件谓词. SQL Server中没有等效的东西. (虽然可以做IF UPDATE(列))
现在使用MERGE语句可以在同一个操作中完成所有三个操作(编辑虽然看起来SQL Server将会divide it up into 3 operations)