Я написал хранимую процедуру. В нем я хочу проверить условие, и если это условие становится истинным, я не хочу переходить к оставшейся части хранимой процедуры.
Если возвращается false, я хочу продолжить оставшуюся часть хранимой процедуры.
Моя хранимая процедура здесь:
IF (@RefPOID <> 0)
BEGIN
IF EXISTS(// SELECT STATEMENT)
BEGIN
SET @Status = 'Please select the Items'
RETURN
END
END
IF(POID = 0)
BEGIN
//INSERTION
END
ELSE
BEGIN
//DELETION
END
Эта хранимая процедура успешно скомпилирована. Но при вызове этой хранимой процедуры из внешнего интерфейса отображается ошибка
System.Data.SqlClient.SqlException: A
произошла серьезная ошибка
команда. Результаты, если таковые имеются, должны
быть отброшенным.
Если я удалил инструкцию RETURN из хранимой процедуры, то она работает нормально.
Если условие становится ложным, хранимая процедура работает нормально, когда я звоню из внешнего интерфейса.
Но я хочу проверить там условие и вернуться, если оно истинно.
Уверен, проблема возникнет из-за наличия ВОЗВРАТА.
Почему проблема возникает? Что пошло не так? Как это решить? Любое предложение, пожалуйста.