Если хранимая процедура возвращает 1, выдается ошибка, иначе продолжить - PullRequest
0 голосов
/ 20 января 2020

У меня есть хранимая процедура, которая вызывает другую хранимую процедуру (не могу изменить это на функцию). В зависимости от результата вызванной хранимой процедуры, я либо хотел бы выдать ошибку, либо продолжить.

Вызываемая хранимая процедура ищет данные в таблице и возвращает 1, если находит данные, или ноль, если данные не возвращаются.

Как бы выглядел SQL, если бы я использовал следующие логи c? Если хранимая процедура возвращает значение 1, выдается ошибка. Если хранимая процедура возвращает NULL, продолжайте.

1 Ответ

3 голосов
/ 20 января 2020
    DECLARE @returnvalue INT
    EXEC @returnvalue = Stored_procedure_name

    IF @returnvalue = 1
    BEGIN
        --You could use THROW (available in SQL Server 2012+):
        --THROW <error_number>, <message>, <state>
        THROW 50000, 'Your custom error message', 1

    END

enter image description here

...