Как зафиксировать и откатить транзакцию на сервере sql?

У меня есть огромный скрипт для создания таблиц и переноса данных с одного сервера. Так что этот сценарий в основном имеет -

Создайте операторы для таблиц.Вставьте для переноса данных в эти вновь созданные таблицы.Создайте операторы для хранимых процедур.

Так что у меня есть этот код, но он не работает в принципе @@ ERROR всегда ноль, я думаю ..

BEGIN TRANSACTION
--CREATES
--INSERTS
--STORED PROCEDURES CREATES
    -- ON ERROR ROLLBACK ELSE COMMIT THE TRANSACTION
    IF @@ERROR != 0
        BEGIN

            PRINT @@ERROR
                      PRINT 'ERROR IN SCRIPT'
            ROLLBACK TRANSACTION
            RETURN
        END
    ELSE
    BEGIN
        COMMIT TRANSACTION
        PRINT 'COMMITTED SUCCESSFULLY'
    END
    GO

Может кто-нибудь помочь мне написать транзакцию, которая будет в основном откатить на ошибку и зафиксировать, если все хорошо .. Могу ли я использоватьRaiseError как-то здесь ..

Ответы на вопрос(3)

Ваш ответ на вопрос