1.创建
1 create or replace procedure getLog(record_ref out sys_refcursor,inputId in log201112.id%type)
2 AS
3 begin
4 open record_ref for
5 select * from log201112 where id=inputId;
6 end getLog;
7 /
2.调用
1 String procedure="{call getLog(?,?)}";
2 CallableStatement cstmt=conn.prepareCall(procedure);//conn为java.sql.Connection对象
3 cstmt.registerOutParameter(1, OracleTypes.CURSOR);//oracle驱动包里的类 import oracle.jdbc.OracleTypes;
4 cstmt.setInt(2, 2);
5 cstmt.execute();
6 ResultSet rs=(ResultSet)cstmt.getObject(1);
7 while(rs.next()){
8 String info=""+rs.getInt("ID");
9 info+=rs.getTimestamp("CREATE_TIME");
10 System.out.println(info);
11 }