2017-06-12 29 views
0

プロシージャは1行のデータを戻します。SQLプロシージャは、別のプロシージャ内の1つの変数に値を戻します。

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は別のプロシージャをコールしており、3つの値を呼び出しプロシージャの別の変数に割り当てます。

どうすれば達成できますか?

答えて

0

戻り値の3つの値をOUTPUTの値として定義し、呼び出し元のストアドプロシージャでそれらを使用する必要があります。

I.e. (擬似コード、すなわち未検証)

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.

その後、別のクエリまたはプロシージャから変数を消費することができます。

このように、これはテストされていないため、コードを少し調整する必要があります。何らかのエラーが発生した場合は、私に知らせてください。それに応じて回答を更新します。

関連する問題