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

本文介绍如何在Oracle中创建包含游标的存储过程,并通过Java进行调用。首先定义了包TEST_PKG及其游标类型和存储过程,接着创建包体实现游标的打开操作,最后演示了使用Java代码调用该存储过程并处理结果集的过程。
 

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()){......}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值