TSQL で部分的なロールバックを理解しようとしています。チュートリアルに従って、この例を見つけましたが、理解できません/最初のオブジェクトが失敗した場合、2番目のオブジェクトをテーブルに保存できますか?
BEGIN TRAN
PRINT 'First Transaction: ' + CONVERT(VARCHAR,@@TRANCOUNT)
INSERT INTO People VALUES ('Tom')
BEGIN TRAN
PRINT 'Second Transaction: ' + CONVERT(VARCHAR,@@TRANCOUNT)
INSERT INTO People VALUES ('Dick')
ROLLBACK TRAN
PRINT 'Rollback: ' + CONVERT(VARCHAR,@@TRANCOUNT)
「トム」が失敗した場合、「ディック」を救うことができますか? 多対多のロールバック トランザクションを実現するために、これが必要です。したがって、Obj A、Obj B を作成し、両方が成功した場合は Obj C を追加し、そうでない場合は失敗をロールバックし、成功した INSERT クエリを保持します。