Oracle中的分頁儲存過程

2021-07-05 01:51:40 字數 951 閱讀 9881

create or replace procedure proc_selectall

( tablename in varchar2, --要查詢的表名

pageno in number, --當前頁數

pagesizes in number, --沒有條數

pagecount out number , --總頁數

listsize out number , --總記錄數

cursorlist out sys_refcursor --輸出資料游標)is

v_sql varchar2(2000);

v_page1 int:=(pageno-1)*pagesizes+1;

v_page2 int:=pageno*pagesizes;

begin

--設定總記錄數

execute immediate ' select count(*) from ' || tablename into listsize;

--設定分頁sql語句

v_sql:=' select * from (select rownum r ,s.* from ' || tablename || ' s) where r between ' || v_page1 || ' and ' || v_page2;

open cursorlist for v_sql;

--設定總頁數

pagecount:=ceil(listsize/pagesizes);

end;

--v_sql 的初始狀態,只是把 between and 的值改變一下

--elect * from (select rownum r ,s.* from studentinfo s) where r between (3-1)*10 +1and 3*10;

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...