1.触发器与事务的关系
触发器可以被认为是一个隐式的嵌套事务。嵌套在引发它的事物中。
2.触发器与约束的关系。见下图。
after 触发器先验证约束,然后激活触发器。
instead of 触发器刚好相反。
3.触发器中的回滚操作
a、显示的回滚,将撤销从最外层的begin tran开始的所有操作。
b、隐式的回滚,将撤销触发器内rollback以前的所有操作,并撤销触发语句。
c.可以通过save tran创建保存点,回退部分操作。或者在触发器中提前commit事务。
由于隐式的包含事务,在触发器中出现rollback或者commit后,需要在写一个begin tran.具体见图:
d.特别注意:触发器中的回滚操作之后的语句将被继续执行,然后触发语句所在的批处理之后的语句将被终止执行。
4.触发器嵌套及递归
a.服务器默认开启触发器嵌套。且最高嵌套32层。超过限制后回滚所有的操作。
相关选项:nested triggers
b.服务器默认不开启触发器递归。
相关选项:recursive_triggers
原文:https://www.cnblogs.com/sxf2086he/p/13339686.html