91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle分頁查詢方法是什么

發布時間:2021-07-16 00:34:23 來源:億速云 閱讀:440 作者:chen 欄目:大數據

這篇文章主要講解了“Oracle分頁查詢方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Oracle分頁查詢方法是什么”吧!

前言

前面我們介紹Oracle的并行查詢,本來是想用并行查詢來解決獲取所有數據的方法,結果自己測試后發現并沒有達到自己想要的效果,所以還是要準備利用分頁進行查詢了。

分頁查詢

在Oracle中,并沒有想MySql里面的Limit的方法進行過濾,所以要實現分頁查詢要麻煩一些,需要你用原表進行排序后再通過rownum來時行分頁的處理。

Oracle分頁查詢語句基本上可以按照本文給出的格式來進行套用。

Oracle分分頁查詢格式:

Oracle分頁查詢方法是什么

其中最內層的查詢SELECT * FROM TABLE_NAME表示不進行翻頁的原始查詢語句。ROWNUM <= 40和RN >= 21控制分頁查詢的每頁的范圍。

上面給出的這個Oracle分分頁查詢語句,在大多數情況擁有較高的效率。分頁的目的就是控制輸出結果集大小,將結果盡快的返回。在上面的分頁查詢語句中,這種考慮主要體現在WHERE ROWNUM <= 40這句上。

代碼實現

我們還是用數據庫的tskuplu的表,這個表里有2W4千多數據,我們可以考慮設置一個頁數,一個每頁的最多行數來分多數查詢效果。

Oracle分頁查詢方法是什么

我們自己寫了一個自定義的查詢分頁方法,根據每次修改頁數,來計算vi_startrow和vi_endrow兩個開始行于結束行。然后通過這兩個值進行sql語句的拼接。

通過上面執行完后,我們可以看到拼接后的SQL語句,如下圖:

Oracle分頁查詢方法是什么

然后我們把輸出的語句在新的窗口中打開查詢后并運行一下結果

Oracle分頁查詢方法是什么

Oracle分頁查詢方法是什么

可以看出來我們通過分頁查詢后,可以一段一段的時行輸出了,查詢的耗時我們也能接受。

最后貼上寫的那段語句:

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分頁查詢方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岐山县| 阳西县| 嘉兴市| 长治市| 谷城县| 潜山县| 东乌珠穆沁旗| 忻城县| 大洼县| 安国市| 齐齐哈尔市| 兴化市| 冀州市| 雅江县| 台安县| 安塞县| 台东市| 寿光市| 尤溪县| 武功县| 承德市| 视频| 拜泉县| 香格里拉县| 桓仁| 卫辉市| 保德县| 济南市| 云和县| 葫芦岛市| 黑河市| 轮台县| 郴州市| 广东省| 萍乡市| 德江县| 上高县| 新民市| 周至县| 昆明市| 翁牛特旗|