実際、ストアド プロシージャでネストされたトランザクションを使用することについて、少し混乱しました。1 つのメイン プロシージャで 2 つまたは 3 つのプロシージャを呼び出す必要があります。
例えば:
Begin try
Begin Tran -- 1st level transcation
Procedure 1 --will be executed
Procedure 2 --will be executed
End tran -- 1st level transcation
End try
Begin Catch
Rollback tran
End Catch
PROCEDURE 1:
BEGIN TRAN TRAN1
///scripts
COMMIT TRAN TRAN1
PROCEDURE 2:
BEGIN TRAN TRAN2
///scripts
COMMIT TRAN TRAN2
私は正しい方法でそれをやっていますか?