Ответ 1
Это должно сработать для вас. Infact тот, который вы думаете, также будет работать: -
.......
DECLARE @returnvalue INT
EXEC @returnvalue = SP_One
.....
У меня есть хранимая процедура, где она заканчивается значением RETURN 0 или 1.
Я хочу использовать это значение в инструкции IF в другой хранимой процедуре.
Как я могу получить возвращаемое значение предыдущей хранимой процедуры и сохранить ее в переменной в последнем?
Я не мог найти ничего связанного. Все вопросы касаются получения значений RETURN на С#.
Я думал, может быть, что-то вроде этого:
SP_Two
DECLARE @returnValue INT
SET @returnValue = EXEC SP_One
IF @returnValue = 1
BEGIN
--do something
END
ELSE
BEGIN
--do something else
END
Это должно сработать для вас. Infact тот, который вы думаете, также будет работать: -
.......
DECLARE @returnvalue INT
EXEC @returnvalue = SP_One
.....
Принятый ответ недействителен с двойным EXEC (нужен только первый EXEC):
DECLARE @returnvalue int;
EXEC @returnvalue = SP_SomeProc
PRINT @returnvalue
И вам все равно нужно вызвать PRINT (по крайней мере, в Visual Studio).
Назначить после токена EXEC
:
DECLARE @returnValue INT
EXEC @returnValue = SP_One