我有一个存储过程,它以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
答案 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