1

こんにちは、in out パラメータを受け取る Oracle ストアド プロシージャを呼び出しています。Spring の StoredProcedure クラスから拡張されたクラスからプロシージャを呼び出しています。ポストの数に基づいて、inout パラメータをクラスの out パラメータとして宣言し、マッピング関数のパラメータに値を渡しました。問題は、out パラメータとしてのみ機能し、in パラメータとしては機能しないことです。何が間違っているのか教えてもらえますか?

public class MyService extends StoredProcedure {
    public MyService(JdbcTemplate jdbcTemplate,String sqlString) {
        setJdbcTemplate(jdbcTemplate);        
        setSql(sqlString);
        setFunction(false);                       
        declareParameter( new SqlOutParameter("inoutparam",OracleTypes.INTEGER));
        declareParameter( new SqlParameter("inparam",Types.VARCHAR));
        compile();
    }

    public Map execute(int arg1,String arg2) {
        Map<String, Object> inParams = new HashMap<String, Object>();
        inParams.put("inoutparam", arg1);
        inParams.put("inparam", arg2);      
        Map<String,Object> map = execute(inParams);
        return map;          
    }
}


PROCEDURE prc_my_proc (
 inoutparam        IN OUT NUMBER,
 inparam             VARCHAR2)
IS
BEGIN

INSERT INTO save_log values ( inoutparam,sysdate);
inoutparam := 100;
END prc_my_proc;
4

0 に答える 0