2012-11-28 73 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中)。