私には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
コマンドに問題があります。
これを実装して、実行中にエラーが発生した場合に両方のコマンドをロールバックするにはどうすればよいですか?
BEGIN TRANSACTION [Tran1]
中に入れるべきではありませんTRY
か?とにかく-非常にシンプルでエレガントなコード。