ポイントは
cs.registerOutParameter(3,OracleTypes.CURSOR);
oracle.jdbc.driverパッケージにあるので、クラスパスに含めること。
【PL/SQL】
CREATE OR REPLACE PACKAGE BODY ABC.PKG_CRM0700TEST
IS
-- グローバル変数宣言
/* 変数名 データ型; */
-- プロシージャ、関数宣言
PROCEDURE GETCRE_NAME(
prm1 IN M_TAX.DATA_SYU%TYPE,
prm2 IN M_TAX.TEKIYO_FROM%TYPE,
retVal OUT EmpCurType
) IS
/* PROCEDURE 名前(引数...); */
/* FUNCTION 名前(引数...) RETURN データ型; */
BEGIN
OPEN retVal FOR SELECT * FROM M_TAX;
END GETCRE_NAME;
END PKG_CRM0700TEST;
/
【JAVA】
//★★ここから下は要らないので消すこと
sql = ("{call PKG_CRM0700TEST.GETCRE_NAME(?,?,?)}");
cs = conn.prepareCall(sql);
cs.setString(1, "A"); //データ種別
cs.setString(2, "20080801"); //適用開始日
cs.registerOutParameter(3,OracleTypes.CURSOR);
cs.executeUpdate();
rs = (ResultSet) cs.getObject(3);
while(rs.next()){
System.out.println(rs.getString(1)+":"+rs.getString(2));
}
仕事に関係する情報のメモ 技術、プロジェクト管理など
金曜日, 6月 06, 2008
登録:
コメントの投稿 (Atom)
1 件のコメント:
追記
参考サイトは以下
http://d.hatena.ne.jp/taedium/20070828/p1
コメントを投稿