Я слышал, если есть вложенные транзакции, внутренние транзакции не будут зафиксированы.
Например, у меня есть родительская процедура и несколько дочерних процедур, каждая из которых начинается с 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
Откатится ли все, что произошло во всех процедурах, при условии, что нигде нет ошибок?