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

时间:2009-01-21 15:27:49

标签: sql-server triggers

在SQL Server 2000中,默认情况下,DELETE查询是否会导致执行表的UPDATE触发器?

我知道我可以定义一个将在DELETE和UPDATE上执行的触发器,但我想我会先验证这是否是必需的。

2 个答案:

答案 0 :(得分:8)

DELETE不会触发UPDATE触发器。如果你有一个触发器被定义为在DELETE和UPDATE上被触发,那么它将在DELETE上执行,但那是因为它也是一个DELETE触发器。

答案 1 :(得分:2)

将其转储到您的触发器中并自行检查

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