Правильное выполнение транзакции в MSSQL

MS SQL - по необходимости

Два варианта выполнения транзакции в MSSQL, для которых при возникновении ошибки транзакция отменяется.

Первый вариант:

BEGIN TRY
    BEGIN TRAN
    UPDATE 1
    UPDATE 2 --Ошибка
    UPDATE 3
    COMMIT TRAN
END TRY
BEGIN CATCH
    ROLLBACK TRAN
END CATCH


Второй вариант:
SET XACT_ABORT ON
BEGIN TRAN
UPDATE 1
UPDATE 2 --Ошибка
UPDATE 3
COMMIT TRAN


Оба варианта сделают одно и то-же при возникновении ошибки на втором шаге, отменят всю транзакцию включая первый шаг.

MSSQL Transaction TSQL

Оставить первый комментарий: