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

时间:2012-11-28 12:35:06

标签: 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

3 个答案:

答案 0 :(得分:72)

这对你有用。事实上你正在考虑的那个也会起作用: -

 .......
 DECLARE @returnvalue INT

 EXEC @returnvalue = SP_One
 .....

答案 1 :(得分:20)

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

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

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

答案 2 :(得分:6)

EXEC令牌之后分配:

DECLARE @returnValue INT

EXEC @returnValue = SP_One