分页如下:(每页显示16条,有几十万条记录)
         上一页 下一页 首页 未页 
      需要您的帮助解我燃眉之急!

解决方案 »

  1.   

    你要在网页上面分页吗?
    web控件有这样的功能。
      

  2.   

    关键是:rownum
    你搜索一下以前的帖子,有很多的.
      

  3.   

    确实这个问题提过很多了,这里有个讨论,建议看看
    http://www.cnoug.org/bin/ut/threaded_show.cgi?tid=38&pid=77
      

  4.   

    在web上有这样一人功能,不用再去处理,或者建一个函数,返回所选的页。
    CREATE OR REPLACE PACKAGE pkg
    AS
       TYPE myrctype IS REF CURSOR;
    END pkg;
    /
    create or replace function name_f(p_m in number,p_n in number,p_rc pkg.myrctype)
    return pkg.myrctype
    as
    str varchar2(50);
    begin
    str:='select * from (select rownum rm,a.* from table_name a) where rm<='||p_n||' and rm>='||p_m;
    open p_rc for str;
    return p_rc;
    end;
    /
      

  5.   

    select * from table_name 
     where rownum <= 一页中的行数 
          and rowid > (
            select max(rowid) from table_name 
             where rownum <= ( 当前页码 -1) * 一页中的行数 
           );
    如果需要按某列排序,则可以这样写:
    一、如果排序的列没有重复
    select * from table_name 
     where rownum <= 一页中的行数 
          and 排序的列 > (
            select max(排序的列) from table_name 
             where rownum <= ( 当前页码 -1) * 一页中的行数 
           );
    二、排序的列有重复
    select * from table_name 
     where rownum <= 一页中的行数 
          and 排序的列 || rowid > (
            select max(排序的列 || rowid) from table_name 
             where rownum <= ( 当前页码 -1) * 一页中的行数 
           );
    当然,排序的列 || rowid 中可能要用到类型转换,比如:to_char(),rowidtochar()。