我有一个存储过程,它以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中).
在EXEC令牌后分配:
DECLARE @returnValue INT
EXEC @returnValue = SP_One
Run Code Online (Sandbox Code Playgroud)