--PLSQL分頁過程 create or replace procedure fenye (tableName in varchar2, --表名 page_size in number, --每頁顯示記錄數 pageNow in number, --當前頁 myrows out number, -- 總記錄數 myPageCount out number, --總頁數 my_cursor out my_new_pack.test_cursor --返回的結果集 )is --定義SQL語句 字符串 v_sql varchar2(1000); v_begin number := (pageNow-1)*page_size+1; v_end number := pageNow*page_size; begin v_sql := 'select * from (select t1.*,rownum rn from (select * from '||tableName ||')t1 where rownum<='||v_end||' )where rn>='||v_begin; open my_cursor for v_sql; v_sql :='select count(*) from '|| tableName; execute immediate v_sql into myrows; if mod(myrows,page_size) =0 then myPageCount := myrows/page_size; else myPageCount := myrows/page_size+1; end if; end;