30463


現在Domaで、基本型戻り値のストア・プロシージャはDOMAで呼びたいですが、いろいろ方法をためしたんですが、すべて試したコードは正常なりません。

ストア・プロシージャ定義は：

[code]

    ALTER PROCEDURE [dbo].[getOrderNo]
    AS
    DECLARE @orderNo int
    -- 他処理。。。
    return @orderNo
    
[/code]

試したA：（Select文）

[code]

    @Select
    List<sp_getOrderNo> getOrderNo();
    
[/code]

SQLファイルは：

[code]

    DECLARE @return_value int
    EXEC    @return_value = [dbo].[getOrderNo]
    SELECT  'ORDERNO' = @return_value
    
[/code]

sp_getOrderのエンティティは ORDERNOのカラムしか持っています。  
結果： ステートメントは ResultSet を返しませんでした。SQLServerExceptionが発生します。

試したB：（Procedure アノテーション）

[code]

    @Procedure
    void getOrderNo(@Out Reference<Integer> orderNo);
    
[/code]

上記実行ときは、Outパラメータ変数がないエラーが発生します。確かに、変数がないです。でもプロシージャの関数戻り値は「void」に設定しないといけません。

ストアはいま開発した処理以外と共有ので、ストアのOUTパラメータ形に変更できません。何かうまい方法がありますか？教えてください。


CC BY-SA 3.0
2016-11-16T14:08:59.040
30452
2016-11-16T22:37:17.770
2016-11-16T14:22:07.937
7404
7404
question
java seaser2
Doma 2.0 ストア・プロシージャは数字の戻り値しか戻る場合、呼ぶ方法は何ですか？


ストアドプロシージャーの定義は変更できないのですね。  
Functionアノテーションを使ってDaoのメソッド定義を次のようにすると解決するかもしれません。

[code]

    @Function
    Integer getOrderNo();
    
[/code]


CC BY-SA 3.0
2016-11-16T22:37:17.770
30463
2016-11-16T22:37:17.770
19412
30452
answer