Прекращение выполнения процедуры 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