1

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

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

4

2 回答 2

9

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

于 2009-01-21T15:35:58.230 回答
3

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

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 
于 2009-01-21T15:30:38.710 回答