Можно ли вручную вызвать ошибку в хранимой процедуре, чтобы остановить выполнение и перейти в блок BEGIN CATCH
? Некоторый аналог throw new Exception()
в C#
.
Вот мой кусок хранимой процедуры:
BEGIN TRY
BEGIN TRAN
-- do something
IF @foobar IS NULL
-- here i want to raise an error to rollback transaction
-- do something next
COMMIT TRAN
END TRY
BEGIN CATCH
IF @@trancount > 0
ROLLBACK TRAN
END CATCH
Я знаю один способ: SELECT 1/0
Но это ужасно!!