2

処理方法を知っている IN / OUT パラメータを持つ myBatis を使用して、多くのストアド プロシージャを呼び出します。

しかし、プロシージャがOUTパラメータとして宣言するのではなく、実際に値を返す場合の処理​​方法がわかりません

たとえば、SQL エディター (SQL Server の場合は TOAD) を使用して、proc を実行し、次のように戻り値を取得できます。

DECLARE @return_value int;

EXEC  @return_value = someProcedure 
    @param1 = 'abc',
    @param2 = 12345

SELECT @return_value as N'@Return Value';

GO

ただし、結果セットとしてのみ結果を取得したことがあり、このシナリオの処理方法がわかりません。私はこのようなものがうまくいくかもしれないと思った:

<select id="callSomeProcedure" resultType="java.lang.Integer" statementType="CALLABLE">
    { call someProcedure  (
            #{param1},
            #{param2}
    ) }
</select>

しかし、それはNULLを返します

何か案は?

4

1 に答える 1

3

はい、わかった

<select id="callSomeProcedure" statementType="CALLABLE">
    { #{returnVal} = call someProcedure  (
            #{param1},
            #{param2}
    ) }
</select>
于 2013-02-15T21:00:26.083 に答える