SQL SERVER(43)触发器执行的顺序

本文介绍了如何使用sp_settriggerorder存储过程控制SQL Server中AFTER触发器的执行顺序。强调只能设置第一个和最后一个触发器的顺序,且顺序只针对同一类型的DML操作。同时,INSTEAD OF触发器无法设置顺序。详细步骤包括创建测试触发器、检查和调整触发器顺序。
摘要由CSDN通过智能技术生成

    在一张表有多个触发器的时候,允许开发人员对AFTER触发器被激发的顺序进行控制。控制顺序需要用到sp_settriggerorder存储过程,并注意以下几个方面:

  • 顺序只能控制第一个触发器和最后一个触发器,除此之外的中间触发器顺序无法控制。
  • 第一个和最后一个触发器必须是两个不同的DML触发器。
  • 控制顺序只针对相同的触发动作而言,也就是说AFTER update触发器,只能为UPDATE操作设置次序。
  • INSTEAD OF触发器不能设置顺序。
  • 如果ALTER TRIGGER语句更改了第一个或最后一个触发器,则会删除First或Last属性并将顺序值设置为None。必须使用sp_settriggerorder来重置顺序。

sp_settriggerorder (Transact-SQL)

https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-settriggerorder-transact-sql?view=sql-server-ver15

sp_settriggerorder [ @triggername = ] '[ triggerschema. ] triggername'   
    , [ @order = ] 'value'   
    , [ @stmttype = 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值