Oracle万能分页法的存储过程--创建一个包,在包中定义一个 游标类型 create or replace package testfenyepackage as type test_cursor is ref cursor ; end testfenyepackage;--编写分页的过程 create or replace procedure fenyeTest ( tableName varchar2,--表名 pageSize number,--每页显示的数目 pageNow number,--当前的页数 Outrows out number,--返回总记录数 pagecount out number,--总页数 p_cursor out testfenyepackage.test_cursor--返回的记录集 ) as --定义部分 --第一一个sql语句的字符串 v_sql varchar2(1000); --定义分页的开始结束的整数变量 v_begin number:=(pageNow-1)*pageSize+1; v_end number:=pageNow*pageSize; begin --执行部分 v_sql:="select * from (select t1.*, rownum rn from (select * from "||tableName||")t1 where rownum<="||v_end||") where rn >="||v_begin; --把游标和sql相关联 open p_cursor for v_sql; --计算Outrows pagecount --组织一个 sql语句 v_sql:="select count(*) from "||tableName; --执行sql并把返回的结果赋值给Outrows execute immediate v_sql into Outrows; --计算页数 if mod(Outrows,pageSize)=0 then pagecount:=Outrows/pageSize; else pagecount:=Outrows/pageSize+1; end if; end;Java中用JDBC调用Oracle存储过程和函数 http://www.linuxidc.com/Linux/2013-09/89922.htmOracle存储过程本地编译方式 http://www.linuxidc.com/Linux/2014-03/98408.htmOracle 存储过程及REF CURSOR的使用 http://www.linuxidc.com/Linux/2014-02/97417.htmOracle存储过程中提示“权限不足”的解决办法 http://www.linuxidc.com/Linux/2014-01/95890.htmOracle利用存储过程返回结果集开发报表 http://www.linuxidc.com/Linux/2013-11/93062.htmOracle存储过程中临时表的使用技巧 http://www.linuxidc.com/Linux/2013-06/86192.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址