Oracle 存储过程调用 返回结果集 实现分页

java 代码
/*参数:1-返回总条数,2-返回查询结果集,3-开始位置,4-结束位置*/
CallableStatement pc = conn.prepareCall("{call userpro(?,?,?,?)}");
			
pc.registerOutParameter(1, Types.INTEGER);
pc.registerOutParameter(2, OracleTypes.CURSOR);
pc.setInt(4, 5);
pc.setInt(3, 10);
pc.execute();
			
System.out.println(pc.getInt(1));
			
ResultSet rs = (ResultSet)pc.getObject(2);
while(rs.next()) {
	do something...
}
存储过程
create or replace package FuxjPackage is type FuxjResultSet is ref cursor;
end;

create or replace procedure userpro(allpage out number,alluser out FuxjPackage.FuxjResultSet,startNO in number,stopNO in number)
as
begin
select count(*) into allpage from usermess;
open alluser for
select * from (select rownum rn, usermess.* from usermess where rownum<=stopNO) where rn>startNO;
end userpro;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值