存储变量中过程的返回值

时间:2014-09-08 13:46:45

标签: sql sql-server stored-procedures

我正在尝试在另一个过程(B)中执行过程(A),并且我想将过程A返回的值存储在名为@LogId的变量中。

执行程序A后

exec TES_usp_getnextlogid

返回类似

的内容
NewLogId = xxxx

我尝试在程序B中执行以下操作。

declare @LogId int
exec @LogId = TES_usp_getnextlogid

我的问题是,为什么@LogId不保留TES_usp_getnextlogid过程返回的值?

感谢。

1 个答案:

答案 0 :(得分:1)

为此使用输出参数,返回值仅应用于返回Success / Faliuer状态。

CREATE PROCEDURE My_Outter_Proc2
AS
BEGIN
   DECLARE @NextID INT;

  EXEC TES_usp_getnextlogid @NextID OUTPUT

  EXEC My_Inner_Proc @NextID 

END