Прекращение выполнения процедуры SQL

В начале процедуры поставил проверку на кол-во записей. Если записей нет, то return. В итоге процедура продолжает крутиться, что не так? Пробовал разные варианты: begin return end, begin goth endp end и далее в таком же духе.

If(select count(*) from table1)=0
Begin
return -1
End

Ответы (2 шт):

Автор решения: Sokol

Можно добавить проверку до запуска процедуры.

if(select count(*) from table) > 0

Begin 
  exec…
End
→ Ссылка
Автор решения: Andrew Nikolaev

Всё должно прекрасно работать. Вот проверил на "рыбе" подобной процедуры:

CREATE PROCEDURE spReturnTest @InputValue INT 
AS
BEGIN   
    IF @InputValue < 0 
    BEGIN
        RETURN
    END
    
    SELECT @InputValue AS Result
END

-- Вернёт набор данных
EXEC spReturnTest @InputValue = 1

-- Ничего не вернёт
EXEC spReturnTest @InputValue = -2
→ Ссылка