2011-05-12 151 views
3

我有两个存储过程ProcA和ProcB。我想让ProcA执行ProcB并让ProcB返回一个整数回到ProcA。从存储过程检查返回值

我的意向是在ProcB中使用RETURN声明,但如果这是我唯一的选择,我将使用OUTPUT参数。

是的,在stackoverflow上也有类似的问题。但是,还没有找到一个单一的一个,将编译使用Microsoft SQL Server 2008

回答

3
CREATE PROC dbo.ProcB 
(@pb int) 
AS 
RETURN 2* @pb /*Double it*/ 

GO 

CREATE PROC dbo.ProcA 
(@pa int) 
AS 

DECLARE @ret INT 
EXEC @ret = dbo.ProcB @pb = @pa 
SELECT @ret as doubled 

GO 

EXEC dbo.ProcA @pa = 10 

返回

doubled 
----------- 
20 
+0

尼斯和简单。谢谢。 – 2011-05-12 23:33:24