SQL代码:
create or replace function GetEmps
return sys_refcursor
is
cur sys_refcursor;
begin
open cur for select * from emp;
return cur;
end getEmps;
JAVA代码:
package com.ray;
import java.sql.*;
public class Demo {
public static void main(String[] args) {
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ray","scott","tiger");
CallableStatement cs=con.prepareCall("{?=call getEmps}");
cs.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
ResultSet rs=(ResultSet)cs.getObject(1);
while(rs.next()){
System.out.println(rs.getString("ename"));
}
rs.close();
con.close();
}
catch(ClassNotFoundException e){
e.printStackTrace();
}
catch(SQLException e){
e.printStackTrace();
}
}
}