`
lpm528
  • 浏览: 81253 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

oracle存储过程实现的分页

 
阅读更多
create or replace procedure lpmtest10(
  tablename in varchar2,
  pagenow in number,
  pagesize in number,
  totalrecord out number,
  totalpage out number,
  lpmrecordset out sys_refcursor --游标类型
)is
lpm_sql varchar2(200);
v_begin number:=(pagenow-1)*pagesize+1;
v_end number:=pagenow*pagesize;
begin
    lpm_sql:='select * from (select e.*,rownum rn from (select * from '||tablename||')e where rownum<='||v_end||') where rn>='||v_begin;
    open lpmrecordset for lpm_sql;
    
    lpm_sql:='select count(*) from '||tablename;
    execute immediate lpm_sql into totalrecord;
    
    if(mod(totalrecord,pagesize)=0) then
    totalpage:=totalrecord/pagesize;
    else 
      totalpage:=trunc(totalrecord/pagesize)+1;
    end if;
    
end;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics