自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

調(diào)用Oracle 分頁存儲(chǔ)過程更為快捷的方案

數(shù)據(jù)庫 Oracle
以下的文章主要是介紹一種更為快捷的方法來實(shí)現(xiàn)Oracle 分頁存儲(chǔ)過程,以下就是具體方案的描述,希望在你今后的學(xué)習(xí)中會(huì)有所幫助。

我們都知道用ASP.NET來調(diào)用Oracle分頁存儲(chǔ)過程要結(jié)合ASPnetpager分頁控件,來實(shí)現(xiàn)分頁的自動(dòng)功能,在2010-01-31 21:01之前我們用的都是GridView自帶的分頁功能,那速度啊慢的真實(shí)不行 ,決定自定義分頁 Oracle庫里有5W多條數(shù)據(jù),AspnetPager做的還是不錯(cuò),拿過來用。

Oracle 分頁存儲(chǔ)過程:

create or replace package JT_P_page is

type type_cur is ref cursor; 定義游標(biāo)變量用于返回記錄集

 

procedure Pagination (Pindex in number, 要顯示的頁數(shù)索引,從0開始

 

Psql in varchar2, 產(chǎn)生分頁數(shù)據(jù)的查詢語句

 

Psize in number, 每頁顯示記錄數(shù)

 

Pcount out number, 返回的分頁數(shù)

 

Prowcount out number, 返回的記錄數(shù)

 

v_cur out type_cur 返回分頁數(shù)據(jù)的游標(biāo)

 

);

 

end JT_P_page;

 

定義包主體

 

create or replace package body JT_P_page is

 

procedure Pagination(Pindex in number, 要顯示的頁數(shù)索引,從0開始

 

Psql in varchar2, 產(chǎn)生分頁數(shù)據(jù)的查詢語句

 

Psize in number, 每頁顯示記錄數(shù)

 

Pcount out number, 返回的分頁數(shù)

 

Prowcount out number, 返回的記錄數(shù)

 

v_cur out type_cur 返回分頁數(shù)據(jù)的游標(biāo)

 

  1. ) AS  
  2. v_sql VARCHAR2(1000);  
  3. v_Pbegin number;  
  4. v_Pend number;  
  5. begin  
  6. v_sql :'select count(*) from (' || Psql || ')';  
  7. execute immediate v_sql into Prowcount;  

計(jì)算記錄總數(shù)

  1. Pcount :ceil(Prowcount / Psize);  

計(jì)算分頁總數(shù),顯示任意頁內(nèi)容

 

  1. v_Pend :Pindex * Psize + Psize;  
  2. v_Pbegin :v_Pend - Psize + 1;   
  3. v_sql :'select * from (' || Psql || ') where rn between ' || v_Pbegin || ' and ' || v_Pend;   
  4. open v_cur for v_sql;  
  5. end Pagination;   
  6. end JT_P_page; 

這個(gè)是在網(wǎng)上找的,還不錯(cuò) 主要是根據(jù)偽列 rownum作為where查詢條件 進(jìn)行帥選,,通過這次做這個(gè)Oracle分頁算是對rownum有了初步的認(rèn)識(shí),實(shí)踐出真理 , 有了Oracle分頁存儲(chǔ)過程截下來就是調(diào)用。

 

【編輯推薦】

  1. Oracle存儲(chǔ)過程的編寫經(jīng)驗(yàn)總結(jié)
  2. Oracle11g認(rèn)證考試的3個(gè)主要途徑
  3. Oracle數(shù)據(jù)庫中3種常用的關(guān)閉方式
  4. Oracle數(shù)據(jù)庫中經(jīng)常使用的啟動(dòng)方式介紹
  5. 用觸發(fā)器實(shí)現(xiàn)Oracle操作日志

 

責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)