我的 Oracle 分页存储过程
2012-08-07 14:43
302 查看
--定义一个包,在包中定义类型test_cursor,是个游标 create or replace package testpackage as type test_cursor is ref cursor; end testpackage; --分页过程 --输入表名,每页显示记录数,当前页 --输出总记录数,总页数,和返回结果 create or replace procedure fenye( tableName in varchar2, --表名 pageTotal in number, --每页条数 pageNow in number, --显示第几页 rowTotal out number, --总共条数 pageCount out number, --总共页数 info out testpackage.test_cursor --详细信息 ) is v_begin number :=(pageNow-1)*pageTotal; v_end number :=pageNow*pageTotal; v_sql varchar2(2000); begin v_sql :='SELECT * FROM '||tableName||' WHERE rowid in ( SELECT rid FROM ( SELECT rownum rn,rid from ( SELECT rowid rid FROM '||tableName||' ) WHERE rownum<='||v_end||' ) WHERE rn>='||v_begin||' );'; open info for v_sql; v_sql:='select count(*) into FROM '||tableName; --执行sql语句 execute immediate v_sql into rowTotal; if mod(rowTotal,pageTotal)=0 then pageCount:=rowTotal/pageTotal; else pageCount:=rowTotal/pageTotal+1; end if; close test_cursor; --关闭游标 end;
相关文章推荐
- 动态 分页存储过程 oracle环境(转)
- Oracle 存储过程调用 返回结果集 实现分页
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- ORACLE高效分页存储过程代码
- oracle存储过程分页代码
- Oracle中的分页存储过程
- oracle高效分页存储过程
- ORACLE高效分页存储过程代码
- 存储过程分页查询(ORACLE)
- Oracle分页存储过程及PLSQL中的调用脚本
- ORACLE分页存储过程
- Oracle问题小记五:服务启动-索引-子查询-分页存储过程
- Oracle分页(limit方式的运用)+付上SqlServer分页+千万级数据分页的存储过程
- oracle分页存储过程 oracle存储过程实例
- 带排序的oracle分页存储过程
- Oracle大数据量分页通用存储过程
- Oracle分页存储过程及PLSQL中的调用脚本
- 一个简单的oracle分页存储过程的实现和调用
- oracle分页存储过程编写案例
- java调用Oracle分页存储过程