В SQL Server 2012 у меня есть задание агента SQL, которое показывает «успех», когда оно входит в блок CATCH, но я хочу, чтобы оно показало сбой. Я думал, что THROW сделает это, но в приведенном ниже коде, когда запрос выполняет CATCH, ROLLBACK и THROW, успешно выполняется задание агента.
Все, что я пытаюсь сделать, - это откатить предыдущие обновления, если update2 или update3 не удаются (нарушение), и в этом случае пусть задание SQL покажет «сбой».
Пожалуйста, подскажите мне ...
BEGIN TRY
BEGIN TRAN
UPDATE 1
UPDATE 2
UPDATE 3
COMMIT
END TRY
BEGIN CATCH
ROLLBACK
;THROW
END CATCH