从SQL中的存储过程获取RETURN值

her*_*ann 67 sql sql-server

我有一个存储过程,它以RETURN值0或1结束.

我想在另一个存储过程的IF语句中使用此值.

如何获取前存储过程的返回值并将其保存在后者的变量中?

我找不到任何相关的东西.所有问题都是关于在C#中获取RETURN值.

我在想,也许是这样的:

SP_Two

DECLARE @returnValue INT
SET @returnValue = EXEC SP_One

IF @returnValue = 1
BEGIN
   --do something
END
ELSE
BEGIN
   --do something else
END
Run Code Online (Sandbox Code Playgroud)

Rah*_*thi 86

这应该适合你.事实上你正在思考的那个也会起作用: -

 .......
 DECLARE @returnvalue INT

 EXEC @returnvalue = SP_One
 .....
Run Code Online (Sandbox Code Playgroud)


Nic*_*sen 21

双EXEC(仅需要第一个EXEC)接受的答案无效:

DECLARE @returnvalue int;
EXEC @returnvalue = SP_SomeProc
PRINT @returnvalue
Run Code Online (Sandbox Code Playgroud)

而你仍然需要调用PRINT(至少在Visual Studio中).


Ale*_* K. 7

EXEC令牌后分配:

DECLARE @returnValue INT

EXEC @returnValue = SP_One
Run Code Online (Sandbox Code Playgroud)