2012-11-28 76 views
45

返回值我都在那里它与0或1从存储过程获取SQL

我想在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 

回答

53

这应该为你工作。逸岸你所想也将工作的一个: -

....... 
DECLARE @returnvalue INT 

EXEC @returnvalue = SP_One 
..... 
5

分配EXEC令牌之后:

DECLARE @returnValue INT 

EXEC @returnValue = SP_One 
13

接受的答案是用双EXEC(只需要在第一个EXEC)无效:

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

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