在 INSTEAD OF INSERT 触发器执行插入后,FOR INSERT 触发器是否会触发?
标题几乎说明了一切...我有一个带有 INSTEAD OF INSERT 触发器的表,它检查某些内容并在一切正常时执行实际插入。它还具有一个 FOR INSERT、UPDATE 触发器,该触发器根据新插入行中的值更新其他表中的值。
我怀疑 FOR INSERT, UPDATE 触发器没有触发。为什么会这样呢?
The title pretty much says it all... I have a table with an INSTEAD OF INSERT trigger which checks certain things and does the actual insert if things are OK. It also has an FOR INSERT, UPDATE trigger which updates values in other tables based on the values in the newly inserted row.
I suspect that the FOR INSERT, UPDATE trigger is not firing. Why would this be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
FOR INSERT 触发器中的“插入”表将包含 INSTEAD OF 触发器插入的值,NOT插入语句。例如,考虑以下脚本:
您的“forTriggerValue”将是“B”,而不是“A”。
The "inserted" table in the FOR INSERT trigger will contain the values inserted by your INSTEAD OF trigger, NOT your insert statement. For example, consider the following script:
Your "forTriggerValue" will be 'B', not 'A'.
检查服务器上的“允许触发器触发其他人”设置。在 SSMS 中,右键单击服务器并选择属性。然后查看“高级”选项卡。
Check the "Allow Triggers to Fire Others" setting on the server. In SSMS, right click on the Server and choose Properties. Then look at the Advanced tab.