我可以回滚SQL Server中具有多个内部事务的事务吗?

时间:2019-06-28 15:57:56

标签: sql sql-server transactions

我听说如果有嵌套事务,则不会提交内部事务。

例如,我有一个“父程序”和大约几个子程序,每个子程序都带有“开始tran / commit /回滚”。

Parent Procedure 
- Inner Procedure1 (has being tran/commit/rollback tran)
- Inner Procedure2 (has being tran/commit/rollback tran)
- Inner Procedure3 (has being tran/commit/rollback tran)
- Inner Procedure4 (has being tran/commit/rollback tran)
- Inner Procedure5 (has being tran/commit/rollback tran)

我需要调试父过程,但是我需要在最后回滚事务,而不是提交它所做的一切。这是一个巨大的过程。

如果我愿意

    Begin tran 
    - (parent procedure)
      -- Inner Procedure1
      -- Inner Procedure2
      -- Inner Procedure3
      -- Inner Procedure4
      -- Inner Procedure5
    rollback tran

假设所有地方都没有错误,是否会回滚所有过程中发生的所有事情?

1 个答案:

答案 0 :(得分:0)

感谢您的答复。看来答案是肯定的,所有内容都会回滚。