【问题标题】:SQL Procedure return value to one variable inside another procedureSQL 过程将值返回到另一个过程中的一个变量
【发布时间】:2017-06-12 06:18:25
【问题描述】:

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

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 正在另一个过程中调用,并将这三个值分配给调用过程中的另一个变量。

我怎样才能实现它?

【问题讨论】:

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


    【解决方案1】:

    您需要将要返回的三个值定义为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.

    然后您可以使用来自另一个查询或过程的变量。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多