前言
前面我們介紹Oracle的并行查詢,本來是想用并行查詢來解決獲取所有數據的方法,結果自己測試后發現并沒有達到自己想要的效果,所以還是要準備利用分頁進行查詢了。
分頁查詢
在Oracle中,并沒有想MySQL里面的Limit的方法進行過濾,所以要實現分頁查詢要麻煩一些,需要你用原表進行排序后再通過rownum來時行分頁的處理。
Oracle分頁查詢語句基本上可以按照本文給出的格式來進行套用。
Oracle分分頁查詢格式:
其中最內層的查詢select * FROM TABLE_NAME表示不進行翻頁的原始查詢語句。ROWNUM <= 40和RN >= 21控制分頁查詢的每頁的范圍。
上面給出的這個Oracle分分頁查詢語句,在大多數情況擁有較高的效率。分頁的目的就是控制輸出結果集大小,將結果盡快的返回。在上面的分頁查詢語句中,這種考慮主要體現在WHERE ROWNUM <= 40這句上。
代碼實現
我們還是用數據庫的tskuplu的表,這個表里有2W4千多數據,我們可以考慮設置一個頁數,一個每頁的最多行數來分多數查詢效果。
我們自己寫了一個自定義的查詢分頁方法,根據每次修改頁數,來計算vi_startrow和vi_endrow兩個開始行于結束行。然后通過這兩個值進行sql語句的拼接。
通過上面執行完后,我們可以看到拼接后的SQL語句,如下圖:
然后我們把輸出的語句在新的窗口中打開查詢后并運行一下結果
可以看出來我們通過分頁查詢后,可以一段一段的時行輸出了,查詢的耗時我們也能接受。
最后貼上寫的那段語句:
declare vi_page integer; --頁數
vi_rows integer; --每頁行數
vi_startrow integer; --起始行
vi_endrow integer; --結束行
vs_sSql varchar2(8000);
begin
--設置頁數和每頁行數
vi_page:=2;
vi_rows:=1000;
--計算起始行
vi_startrow:=(vi_page-1)*vi_rows+1;
--計算結束行
vi_endrow:=vi_page*vi_rows;
vs_sSql:='select * from (select rownum as rowno, t.* from (select * from tskuplu order by pluid) t
where rownum<= '||to_char(vi_endrow)||') tb_plu
where tb_plu.rowno>='||to_char(vi_startrow);
dbms_output.put_line(vs_sSql);
end;
感謝各位的閱讀,以上就是“Oracle分頁查詢方法是什么”的內容了,經過本文的學習后,相信大家對Oracle分頁查詢方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是本站,小編將為大家推送更多相關知識點的文章,歡迎關注!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
美國眾議院議長佩洛西無視中國行政當局的嚴正抗議,于2022年8月3日一意孤行訪問省,不僅違背了美國政府“堅持一個中國”的承諾,也肆意挑釁中國的政治底線。佩洛西對省的訪問導致空前緊張,中國大陸省的決心更加堅定。最近,英國媒體甚至預測,中國大陸最早將于2023年派兵50萬省。首先,祖國統一是人心所向,大勢所趨。中國大陸有決心也有能力實現這一目標。然而,中國自古以來就是一個熱愛和平的國家。我們奉行以德服...
鈀金與鉑金的區別在哪里?1.硬度鈀比鉑硬。其實只是大一點點,不過有經驗的話,從這里還是可以分辨出誰是鈀誰是鉑的。在這樣相似的硬度下,我們可能很難區分誰是真正的白金,但如果不能從硬度上區分,我們可以從其他年份開始。2.重量鈀金比鉑金輕。這是我們買鉑金戒指時一定要仔細觀察的。如果我們被一些不擇手段的商人欺騙,我們將遭受巨大的損失。買鉑金戒指的時候可以感受一下重量,這是直接的方法,在實際購買中非常重要。...
四通一達是圓通快遞、中通快遞、申通快遞和百世匯通,其中的圓通快遞成立于2000年,屬于郵政行業的民營公司,而中通快遞2002年在上海成立,是一家集快遞、物流一體的集團公司,另外申通快遞又稱上海申通,屬于國內合資企業。四通一達分別指哪四通1、圓通快遞四通一達有圓通快遞,圓通快遞快遞成立于2000年,屬于-家郵政行業的民營公司,其總部位于上海青浦區,國內大型民營快遞品牌,并致力于成為引|領行業發展的公...