删除一行会导致更新触发器触发吗?
问题描述:
在SQL Server 2000中,默认情况下,DELETE查询是否会导致执行表的UPDATE触发器?删除一行会导致更新触发器触发吗?
我知道我可以定义一个将在DELETE和UPDATE上执行的触发器,但我想我会验证这实际上是首先需要的。在触发
答
一个删除不火UPDATE触发器。如果你有一个触发器被定义为在DELETE和UPDATE上被触发,那么它将在DELETE上执行,但这是因为它也是一个DELETE触发器。
答
转储这一点,并检查自己
IF @@ROWCOUNT > 0
BEGIN
IF EXISTS (SELECT 1 FROM inserted)
BEGIN
IF EXISTS (SELECT 1 FROM deleted)
PRINT 'update';
ELSE
PRINT 'insert';
END
ELSE
PRINT 'delete';
END
谢谢,我终于尝试了这个代码。帮助我找出答案很有用。话虽如此,我接受了Chochos的回答,因为他对这个问题有了真正的答案。谢谢! – 2009-02-05 14:56:31