我试图找出如何执行另一个存储过程中的存储过程时返回一个存储过程的输出参数内:返回存储过程的输出参数另一个存储过程
CREATE PROCEDURE Test1
EXEC SpWithOutputID -- Outputs @ID
SELECT @ID as ID -- Output @ID now being used in this SP
这是当然不是我的代码,但只是一个例子,是否有可能这样做?
实施例2: --Here @ID返回Null
CREATE PROCEDURE Test1
As
DECLARE @ID int
EXEC SpWithOutputID @ID = @ID OUTPUT -- Outputs @ID
SELECT @ID as ID -- Output @ID now being used in this SP
实施例3: --Here @ID返回int
CREATE PROCEDURE Test1
As
EXEC SpWithOutputID -- Outputs @ID
你需要澄清......是'SpWithOutputID'中的'@ ID'是一个实际的'OUTPUT'参数,还是像最后一行那样被选中?差别很大,术语很重要。 – 2012-02-15 00:59:32
sp没有'OUTPUT'参数,但它仍然输出一个值,所以我想我必须给SpWithOutputID一个输出参数,我明白了。再次感谢亚伦,没有你,我会做什么......? =] – 2012-02-15 01:01:24
您需要显示您希望在'SpWithOutputID'内运行的代码。你也应该澄清这个问题,因为你对大多数读者的'output param'有不同的定义。如果你需要返回一个标量值,那么你应该让内层SP返回一个'OUTPUT'参数,而不是结果集。 – 2012-02-15 01:04:47