Правильное использование транзакций в SQL Server

У меня есть 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есть проблема.

Как я могу реализовать это для отката обеих команд, если какая-то из них имеет ошибку при выполнении?

213
задан Saeid 15 July 2019 в 03:16
поделиться