Можно ли вручную вызвать ошибку в хранимой процедуре, чтобы остановить выполнение и перейти в блок 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 Но это ужасно!!