您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Oracle万能分页法的存储过程

2025/12/4 2:21:47发布20次查看
oracle万能分页法的存储过程 --创建一个包,在包中定义一个 游标类型 create or replace package testfenyepackage as type test
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_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存储过程和函数
oracle存储过程本地编译方式
oracle 存储过程及ref cursor的使用
oracle存储过程中提示“权限不足”的解决办法
oracle利用存储过程返回结果集开发报表
oracle存储过程中临时表的使用技巧
本文永久更新链接地址:

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product