2 つのコマンドがあり、両方を正しく実行するか、どちらも実行しない必要があります。だからトランザクションが必要だと思うのですが、正しい使い方がわかりません。
次のスクリプトの問題点は何ですか?
BEGIN TRANSACTION [Tran1]
INSERT INTO [Test].[dbo].[T1]
([Title], [AVG])
VALUES ('Tidd130', 130), ('Tidd230', 230)
UPDATE [Test].[dbo].[T1]
SET [Title] = N'az2' ,[AVG] = 1
WHERE [dbo].[T1].[Title] = N'az'
COMMIT TRANSACTION [Tran1]
GO
INSERT
コマンドは実行されますが、コマンドUPDATE
に問題があります。
実行中にエラーが発生した場合に両方のコマンドをロールバックするためにこれを実装するにはどうすればよいですか?