create or replace package jt_p_page is
type type_cur is ref cursor; --定義游標變數用於返回記錄集
procedure pagination (pindex in number, --要顯示的頁數索引,從0開始
psql in varchar2, --產生分頁資料的查詢語句
psize in number, --每頁顯示記錄數
pcount out number, --返回的分頁數
prowcount out number, --返回的記錄數
v_cur out type_cur --返回分頁資料的游標
);end jt_p_page;
--定義包主體
create or replace package body jt_p_page is
procedure pagination(pindex in number, --要顯示的頁數索引,從0開始
psql in varchar2, --產生分頁資料的查詢語句
psize in number, --每頁顯示記錄數
pcount out number, --返回的分頁數
prowcount out number, --返回的記錄數
v_cur out type_cur --返回分頁資料的游標
) as
v_sql varchar2(1000);
v_pbegin number;
v_pend number;
begin
v_sql := 'select count(*) from (' || psql || ')';
execute immediate v_sql into prowcount; --計算記錄總數
pcount := ceil(prowcount / psize); --計算分頁總數
--顯示任意頁內容
v_pend := pindex * psize + psize;
v_pbegin := v_pend - psize + 1;
--psql := 'select rownum as rn , t.* from pay_en_voucher t'; --要求必須包含rownum欄位
v_sql := 'select * from (' || psql || ') where rn between ' || v_pbegin || ' and ' || v_pend;
open v_cur for v_sql;
end pagination;
end jt_p_page;
還算不錯
oracle分頁儲存過程
page slide procedure author robert.c time 2006.11.17 create or replace procedure tablepage select v page size int,the size of a page of list v current...
Oracle分頁儲存過程
第一步要先建立包 create or replace package pkg query is type cur query is ref cursor procedure met down query m tablename in varchar2,表名 m strwhere in varchar...
Oracle分頁儲存過程
第一步要先建立包 create or replace package pkg query is type cur query is ref cursor procedure met down query m tablename in varchar2,表名 m strwhere in varchar...