У меня есть огромный script для создания таблиц и переноса данных с одного сервера. Таким образом, этот sceipt в основном имеет -
- Создание операторов для таблиц.
- Вставить для переноса данных в эти вновь созданные таблицы.
- Создание операторов для хранимых процедур.
Итак, у меня есть этот код, но он не работает в основном @@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 как-то здесь..