Sql server 无法从另一个SP调用的SP获取输出参数
我试图从另一个存储过程调用的存储过程中获取输出参数值,但没有成功。我分别设置输出参数,但它返回Sql server 无法从另一个SP调用的SP获取输出参数,sql-server,stored-procedures,output,Sql Server,Stored Procedures,Output,我试图从另一个存储过程调用的存储过程中获取输出参数值,但没有成功。我分别设置输出参数,但它返回NULL ALTER PROCEDURE [dbo].[btn_usp_label_next_lp] @out_vchMsg NVARCHAR(30) OUTPUT, @out_vchCode NVARCHAR(30) OUTPUT AS DECLARE @v_nSysErrorNum INTEGER
NULL
ALTER PROCEDURE [dbo].[btn_usp_label_next_lp]
@out_vchMsg NVARCHAR(30) OUTPUT,
@out_vchCode NVARCHAR(30) OUTPUT
AS
DECLARE @v_nSysErrorNum INTEGER
EXEC usp_get_next_value_dummy 'BTN_DUMMY_LP', @out_vchCode OUTPUT, @v_nSysErrorNum OUTPUT, @out_vchMsg OUTPUT
输出参数@out\u vchCode
始终为空,但存储过程usp\u get\u next\u value\u dummy
填充@out\u vchCode
。我不明白上面为什么返回空值
有谁能给我一个主意吗?您需要将变量的作用域设置为您的过程。它们被定义为输出,但您试图将它们传递给另一个进程。我不是嵌套进程的超级粉丝,因为维护可能会变得非常糟糕,但下面是如何做到这一点的
ALTER PROCEDURE [dbo].[btn_usp_label_next_lp]
@out_vchMsg NVARCHAR(30) OUTPUT,
@out_vchCode NVARCHAR(30) OUTPUT
AS
DECLARE @v_nSysErrorNum INTEGER
, @vchCode NVARCHAR(30)
, @vchMsg NVARCHAR(30)
EXEC usp_get_next_value_dummy 'BTN_DUMMY_LP', @vchCode OUTPUT, @v_nSysErrorNum OUTPUT, @vchMsg OUTPUT
SELECT @out_vchCode = @vchCode
, @out_vchMsg = @vchMsg
不能复制