Подтвердить что ты не робот

Как остановить выполнение хранимой процедуры с помощью SQL Server?

Допустим, у меня есть хранимая процедура, которая имеет простой блок IF. Если выполняемая проверка соответствует критериям, я хочу остановить процедуру от дальнейшего выполнения.

Каков наилучший способ сделать это?

Вот код:

IF EXISTS (<Preform your Check>)
BEGIN
    // NEED TO STOP STORED PROCEDURE EXECUTION
END
ELSE
BEGIN
    INSERT ()...
END

Спасибо за любую помощь в этом!

4b9b3361

Ответ 1

Просто позвоните RETURN:

IF EXISTS (<some condition>)
BEGIN
    // NEED TO STOP STORED PROCEDURE EXECUTION
    RETURN
END

Это вернет элемент управления обратно вызывающему абоненту сразу - он пропустит все остальное в proc.

Ответ 2

Вы можете просто поместить метку перехода в конец тела SP и выдать GOTO в первом операторе IF. В качестве альтернативы вы можете расширить первый блок BEGIN ... END, чтобы содержать весь остаток тела SP, и отменить условие (IF NOT EXISTS...).