1

SQL Server 2005 或 2008:
我有一个 UPDATE 触发器,只有当某个状态字段发生更改时,它才会将新记录插入到同一个表中。

新记录确实被正确创建,因此 UPDATE 触发器起作用。但是以这种方式创建记录时,INSERT 触发器不会触发。

当我从触发器中提取插入语句并单独运行它时,INSERT 触发器会触发并正确执行,就像从表单创建记录时一样。

因此,两个触发器都按设计工作。我为测试设置了递归,但这不起作用。所以我想简单的问题是……这可以做到吗?

4

1 回答 1

0

You need to turn on Nested Triggers for your server. Here's how:

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure 'nested triggers', 1 ;
GO
RECONFIGURE;
GO

Be aware that this affects all databases, and can have unintended consequences (for triggers that were not intended to cascade like this).

于 2013-06-14T19:51:34.630 回答