Как зафиксировать и откатить транзакцию на сервере 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 как-то здесь ..