您的位置:首页 > 数据库 > Oracle

Oracle函数返回游标,在JAVA中显示结果

2007-12-27 22:16 585 查看
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();
  }
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息