触发器始终作为正在执行触发语句的同一事务的一部分执行。如果触发器代码块中未发生异常,则当且仅当提交包含触发语句的事务时,才会提交触发器中任何DML命令的效果。因此,如果事务回滚,则触发器中任何DML命令的效果也都将回滚。

如果在触发器代码块中确实发生异常,但该异常在异常部分进行了捕获和处理,则触发器中任何DML命令的效果仍然会回滚。但是,触发语句本身不会回滚,除非应用程序强制回滚封装事务。

如果在触发器代码块中发生的异常未处理,则封装触发器的事务将中止并回滚。因此,触发器中任何DML命令的效果以及触发语句本身都将回滚。