在 SQL Server 2000 中,默认情况下,DELETE 查询是否会导致执行表的 UPDATE 触发器?
我知道我可以定义一个将在 DELETE 和 UPDATE 上执行的触发器,但我想我会验证这实际上是首先需要的。
在 SQL Server 2000 中,默认情况下,DELETE 查询是否会导致执行表的 UPDATE 触发器?
我知道我可以定义一个将在 DELETE 和 UPDATE 上执行的触发器,但我想我会验证这实际上是首先需要的。
DELETE 不会触发 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