[sql] Get RETURN value from stored procedure in SQL

I have a stored procedure where it ends with a RETURN value of 0 or 1.

I want to use this value in an IF statement in another stored procedure.

How can I get the return value of the former stored procedure and save it in a variable in the latter?

I couldn't find anything related. All questions are about fetching the RETURN values in C#.

I was thinking, maybe something like this :

SP_Two

DECLARE @returnValue INT
SET @returnValue = EXEC SP_One

IF @returnValue = 1
BEGIN
   --do something
END
ELSE
BEGIN
   --do something else
END

This question is related to sql sql-server

The answer is


This should work for you. Infact the one which you are thinking will also work:-

 .......
 DECLARE @returnvalue INT

 EXEC @returnvalue = SP_One
 .....

The accepted answer is invalid with the double EXEC (only need the first EXEC):

DECLARE @returnvalue int;
EXEC @returnvalue = SP_SomeProc
PRINT @returnvalue

And you still need to call PRINT (at least in Visual Studio).


Assign after the EXEC token:

DECLARE @returnValue INT

EXEC @returnValue = SP_One