从SQL存储过程中获取返回值

86
我有一个存储过程,它以返回值0或1结束。
我想在另一个存储过程的IF语句中使用这个值。
我该如何获取前一个存储过程的返回值并将其保存在后一个存储过程的变量中?
我找不到相关的信息。所有的问题都是关于在C#中获取返回值。
我在想,也许可以像这样做: SP_Two
DECLARE @returnValue INT
SET @returnValue = EXEC SP_One

IF @returnValue = 1
    BEGIN
       --do something
    END
ELSE
    BEGIN
       --do something else
    END
3个回答

118

这对你应该管用。实际上,你想的那个也能用:

 .......
 DECLARE @returnvalue INT

 EXEC @returnvalue = SP_One
 .....

28

接受的答案有误,双重EXEC是不必要的(只需要第一个EXEC):

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

你仍需要调用 PRINT(至少在 Visual Studio 中)。


10

EXEC令牌之后分配:

DECLARE @returnValue INT

EXEC @returnValue = SP_One

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接