0

在三个不同的表上,我有单独INSERTUPDATEDELETE触发器。

我肯定知道它们按预期工作(尝试添加、删除、更新并确认更改到日志表)。但是,恰好删除或添加了行,而我的日志表没有任何内容。

所以我的问题是:例如,是否可以在不触发启用的 INSERT 触发器的情况下添加记录?

这是在 SQL Server 2005 上。

4

1 回答 1

0

如果执行的查询禁用了特定触发器的使用,例如通过使用

DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]

此外,正如 Damien 指出的那样,在某些情况下,您的触发器可能仅适用于单个记录。错误(简化示例:

    UPDATE table SET field = value WHERE PK = (SELECT PK FROM inserted)

更好的:

    UPDATE table SET field = value WHERE PK IN (SELECT PK FROM inserted)

向我们展示您的触发器,我们会弄清楚的。

于 2012-11-02T13:23:48.123 回答