oracle分页包,Oracle分页获取数据的实现 (包和存储过程)
本文檔主要是介紹針對oracle數據庫中利用包和存儲過程來實現分頁獲取數據的內容。其實該存儲過程的主題思想及主要實現我也是從網上找的,自己做了整合。
包括包頭聲明和包體實現部分以及C#代碼具體調用部分,共大家參考并提出改進意見。
本包中包括兩個分頁的存儲過程,一個是通用的,而另一個是比較具體的。分頁主要用到了游標和pl/sql中的rownum的概念。
1 聲明:
CREATE OR REPLACE PACKAGE PACK_PAGE IS
TYPE PAGE_CURSOR IS REF CURSOR;--定義游標
PROCEDURE PAGINATION_PROC(P_TABLENAME VARCHAR2, --表名
P_PAGEINDEX NUMBER, --當前頁碼
P_PAGESIZE NUMBER, --每頁記錄數
P_PAGECOUNT OUT NUMBER, --總頁數
P_TOTALCOUNT OUT NUMBER, --總記錄數
v_CURSOR OUT PACK_PAGE.PAGE_CURSOR, --返回的結果集
P_WHERE VARCHAR2, --查詢條件
P_ORDER_KEY VARCHAR2, --排序關鍵字(asc desc)
P_ORDER_COLUMN VARCHAR2--排序字段
) ;
PROCEDURE PAGINATION_WAP_DETAIL_PROC(
P_PAGEINDEX NUMBER, --當前頁碼
P_PAGESIZE NUMBER, --每頁記錄數
P_WHERE VARCHAR2, --查詢條件
P_SELECTCONTENT VARCHAR2, --查詢的內容
P_PAGECOUNT OUT NUMBER, --總頁數
P_TOTALCOUNT OUT NUMBER, --總記錄數
V_CURSOR OUT PACK_PAGE.PAGE_CURSOR--返回的結果集
);
END PACK_PAGE;
2:具體實現:
CREATE OR REPLACE PACKAGE BODY PACK_PAGE IS
PROCEDURE PAGINATION_PROC(P_TABLENAME VARCHAR2, --表名
P_PAGEINDEX NUMBER, --當前頁碼
P_PAGESIZE NUMBER, --每頁記錄數
P_PAGECOUNT OUT NUMBER, --總頁數
P_TOTALCOUNT OUT NUMBER, --總記錄數
總結
以上是生活随笔為你收集整理的oracle分页包,Oracle分页获取数据的实现 (包和存储过程)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle怎么读取表空间文件大小,or
- 下一篇: oracle查询file_name,Or