首页 > 数据库 > ORACLE > 正文

如何在oracle存储过程中返回游标

web学习吧 2007-04-26 来源: 收藏本文

1:首先你需要创建一个包,并定义你返回的游标的类型、存储过程

create or replace package TEST_PKG is
 
  -- Public type declarations
  type cur_emp is REF CURSOR;
 
  procedure test_proc (v_empno in number, emps out cur_emp);
 
end TEST_PKG;

2:然后你再创建包体

create or replace package body TEST_PKG is

procedure test_proc (v_empno in number, emps out cur_emp)
as
begin
open emps for select * from emp where empno=7369;
end test_proc; 
end TEST_PKG ;

3,通过JAVA调用

cstmt = conn.prepareCall("{call TEST_PKG .test_proc (?)}");
cstmt.registerOutParameter(1, OracleTypes.CURSOR);
cstmt.execute();
 
//获得结果集
rs = (ResultSet)cstmt.getObject(4);
while(rs.next()){......}

关于我们 - 免责声明 - 版权所有 - 广告服务 - 友情连接 - 商务合作 - 联系我们