JDBC调用oracle存储过程并返回结果集

551 阅读1分钟

 

--/
create or replace procedure pro_data(data out SYS_REFCURSOR) is  
begin  
  open data for select id from scott.travelrecord;
end pro_data; 

/
alter procedure pro_data compile;
--/

 

       CallableStatement cs2 = con.prepareCall("{call pro_data(?)}");
            cs2.registerOutParameter(1, OracleTypes.CURSOR);
            cs2.execute();
             rs = (ResultSet) cs2.getObject(1);
             while (rs.next()){
                 System.out.println(rs.getString(1));
             }