SQL过程将值返回到另一个过程中的一个变量

时间:2017-06-12 06:18:26

标签: sql-server stored-procedures return-value

我有一个程序,它返回一行数据。

CREATE PROCEDURE GetABCD
AS 
declare  @_Wsd   varchar = 'England'
declare  @_App   varchar = '500'
declare  @_Ver   varchar = '1.0' 
BEGIN   
SET NOCOUNT ON; 
select 
  @_Wsd as [WSDL_CODE]
  ,@_App as [APP_TYPE]
  ,@_Ver as [VERSION]     
END

过程GetABCD正在另一个过程中调用,并将三个值分配给调用过程中的另一个变量。

我怎样才能实现它?

1 个答案:

答案 0 :(得分:0)

您需要将要返回的三个值定义为OUTPUT值,并让调用存储过程从那里使用它们。

即。 (伪代码,即未经测试)

CREATE PROCEDURE GetABCD
(
@_Wsd   varchar = 'England' OUTPUT
, @_App   varchar = '500' OUTPUT
, @_Ver   varchar = '1.0' OUTPUT
) 
select 
  @_Wsd as [WSDL_CODE]
  ,@_App as [APP_TYPE]
  ,@_Ver as [VERSION]     
RETURN

More information here on MSDN.

然后,您可以使用其他查询或过程中的变量。

如上所述,这是未经测试的,因此您可能需要稍微调整代码。如果它抛出任何错误,请告诉我,我会相应地更新答案。