Лучший способ работы с транзакциями в MS SQL Server Management Studio

Я хочу добавить, что вы также transactions можете (и должны, если то, что sql-syntax вы пишете, является сложным) добавить sqlselect тестовую переменную для отката, если transactional вы находитесь в тестовом sql-syntax режиме. Тогда вы сможете sql-query выполнить все сразу. Часто tsql я также добавляю код, чтобы sql-statement увидеть результаты различных transactions операций до и после, особенно transaction если это сложный сценарий.

Пример select-statement ниже:

USE AdventureWorks;
GO
DECLARE @TEST INT = 1--1 is test mode, use zero when you are ready to execute
BEGIN TRANSACTION;

BEGIN TRY
     IF @TEST= 1
        BEGIN
            SELECT *FROM Production.Product
                WHERE ProductID = 980;
        END    
    -- Generate a constraint violation error.
    DELETE FROM Production.Product
    WHERE ProductID = 980;

     IF @TEST= 1
        BEGIN
            SELECT *FROM Production.Product
                WHERE ProductID = 980;
            IF @@TRANCOUNT > 0
                ROLLBACK TRANSACTION;
        END    
END TRY

BEGIN CATCH
    SELECT 
        ERROR_NUMBER() AS ErrorNumber
        ,ERROR_SEVERITY() AS ErrorSeverity
        ,ERROR_STATE() AS ErrorState
        ,ERROR_PROCEDURE() AS ErrorProcedure
        ,ERROR_LINE() AS ErrorLine
        ,ERROR_MESSAGE() AS ErrorMessage;

    IF @@TRANCOUNT > 0
        ROLLBACK TRANSACTION;
END CATCH;

IF @@TRANCOUNT > 0 AND @TEST = 0
    COMMIT TRANSACTION;
GO

sql

tsql

transactions

2022-06-29T16:58:31+00:00
Вопросы с похожей тематикой, как у вопроса:

Лучший способ работы с транзакциями в MS SQL Server Management Studio