我正在尝试在另一个过程(B)中执行过程(A),并且我想将过程A返回的值存储在名为@LogId
的变量中。
执行程序A后
exec TES_usp_getnextlogid
返回类似
的内容NewLogId = xxxx
我尝试在程序B中执行以下操作。
declare @LogId int
exec @LogId = TES_usp_getnextlogid
我的问题是,为什么@LogId
不保留TES_usp_getnextlogid
过程返回的值?
感谢。
答案 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