【问题标题】:Nested Triggers In SQL ServerSQL Server 中的嵌套触发器
【发布时间】:2023-03-11 18:05:02
【问题描述】:

使用 SQL Server 2012,我设计了一个使用 2 个表和 2 个触发器的系统。每个表有 1 个触发器。

触发器在插入后触发。

AB , 触发 ab

当一条记录插入到表 A 中时,触发器 a 将一条记录插入到表 B 中。

当一条记录插入到表 B 中时,触发器 b 会向我发送一封电子邮件。

问题在于,触发器b只有在我手动将记录插入表B时才起作用。当触发器 a 进行插入时,触发器 b 不会触发。

我已将触发器 b 简化为更新第三个测试表。触发器 b 仍然没有触发,当触发器 a 执行插入时,因此似乎不太可能归咎于电子邮件功能。

【问题讨论】:

  • 触发器 A 何时触发?在插入之后还是代替插入? AFTER 触发器只有在服务器配置“嵌套触发器”设置为 1 时才会级联
  • 触发器在表 a 上插入后触发。我会更新问题。

标签: sql-server triggers sql-server-2012


【解决方案1】:

您需要将嵌套触发器设置为 1

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多