Можно ли откатить транзакцию с несколькими внутренними транзакциями в SQL Server? - PullRequest
1 голос
/ 28 июня 2019

Я слышал, если есть вложенные транзакции, внутренние транзакции не будут зафиксированы.

Например, у меня есть родительская процедура и несколько дочерних процедур, каждая из которых начинается с tran / commit / rollback.

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 голосов
/ 28 июня 2019

Спасибо за ответы. Похоже, ответ да, все будет откат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...