删除一行会导致更新触发器触发吗?

问题描述:

在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 
+0

谢谢,我终于尝试了这个代码。帮助我找出答案很有用。话虽如此,我接受了Chochos的回答,因为他对这个问题有了真正的答案。谢谢! – 2009-02-05 14:56:31