--oracle存储过程代码create or replace procedure out_cursor(res out sys_refcursor , in_para in number) is
begin
open res for select * from c where c.c = in_para;
end out_cursor;
/
--Java代码
package com.pro.demo; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; import com.pro.util.JDBCUtil; public class Demo { public static void main(String[] args) throws SQLException { Connection conn = JDBCUtil.getConnection(); CallableStatement cstmt = conn.prepareCall("{call out_cursor(?,?)}"); cstmt.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR); cstmt.setInt(2, 1); cstmt.execute(); ResultSet rs = (ResultSet)cstmt.getObject(1); while(rs.next()) { System.out.print(rs.getString(1)); System.out.print("-----"); System.out.println(rs.getString(2)); } } }
本文介绍了一个Oracle存储过程的创建方法,并通过Java代码演示了如何使用CallableStatement来调用该存储过程并获取返回的游标数据。
1016

被折叠的 条评论
为什么被折叠?



