私はSQLサーバーでネストされたトランザクション全体を整理してきました.ネストされたトランスの動作を理解するためのこれらのナゲットを輝かせました。
- トランザクションをネストする場合、最も外側のコミットのみが実際にコミットされます。
- 「Commit Trans txn_name」は、ネストされている場合、txn_name が外側のトランザクションを参照している場合でも、常に最も内側のトランザクションに適用されます。
- "ROLLBACK TRAN" (名前なし) は、内部トランザクションであっても、すべてのトランザクションをロールバックします。
- "ROLLBACK TRAN txn_name" - txn_name は、最も外側の txn 名を参照する必要があります。そうでない場合、失敗します。
これらを考えると、トランザクションに名前を付ける利点はありますか? コミットまたはロールバックのいずれかで、特定のトランザクションをターゲットにするために使用することはできません。コードのコメント化のみを目的としていますか?
ありがとう、
ヨニ