设为首页 收藏本站
查看: 644|回复: 0

[经验分享] Oracle中实现分页的方法 .

[复制链接]

尚未签到

发表于 2016-7-29 11:10:01 | 显示全部楼层 |阅读模式
  转:http://blog.csdn.net/andkylee/article/details/5638033
  
  在oracle中显示分页很简单, 利用两次rownum就实现了。
  
  下面的语句用来返回DBA_OBJECTS表中类型为TABLE的所有记录中的第100行至第200行。
  
  select * from
( select rownum rnm, a.* from ( select OBJECT_NAME from DBA_OBJECTS where object_type='TABLE' ) a
    where rownum <= 200 )
where rnm > 100

  
  
  
  执行结果为:
  
  
view plaincopy to clipboardprint?


  • SQL> select * from  
  •   2  ( select rownum rnm, a.* from ( select OBJECT_NAME from DBA_OBJECTS where object_type='TABLE' ) a  
  •   3      where rownum <= 200 )  
  •   4  where rnm > 100  
  •   5  ;  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        101 HISTGRM$  
  •        102 HIST_HEAD$  
  •        103 DUAL  
  •        104 PARTOBJ$  
  •        105 PARTCOL$  
  •        106 TABPART$  
  •        107 INDPART$  
  •        108 SUBPARTCOL$  
  •        109 TABSUBPART$  
  •        110 INDSUBPART$  
  •        111 TABCOMPART$  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        112 INDCOMPART$  
  •        113 PARTLOB$  
  •        114 LOBFRAG$  
  •        115 LOBCOMPPART$  
  •        116 DEFSUBPART$  
  •        117 DEFSUBPARTLOB$  
  •        118 SYSTEM_PRIVILEGE_MAP  
  •        119 TABLE_PRIVILEGE_MAP  
  •        120 STMT_AUDIT_OPTION_MAP  
  •        121 RESOURCE_MAP  
  •        122 USER_ASTATUS_MAP  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        123 EXPACT$  
  •        124 NOEXP$  
  •        125 PROCEDUREJAVA$  
  •        126 PROCEDUREC$  
  •        127 PROCEDUREPLSQL$  
  •        128 RESULT$  
  •        129 KOTTD$  
  •        130 KOTTB$  
  •        131 KOTAD$  
  •        132 KOTMD$  
  •        133 KOTTBX$  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        134 KOTADX$  
  •        135 KOPM$  
  •        136 VTABLE$  
  •        137 ATEMPTAB$  
  •        138 LIBRARY$  
  •        139 USER_HISTORY$  
  •        140 MIGRATE$  
  •        141 ICOLDEP$  
  •        142 OPERATOR$  
  •        143 OPBINDING$  
  •        144 OPANCILLARY$  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        145 OPARG$  
  •        146 INDTYPES$  
  •        147 INDOP$  
  •        148 INDARRAYTYPE$  
  •        149 SECOBJ$  
  •        150 ASSOCIATION$  
  •        151 USTATS$  
  •        152 JAVASNM$  
  •        153 SUM$  
  •        154 SUMDETAIL$  
  •        155 SUMINLINE$  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        156 SUMKEY$  
  •        157 SUMAGG$  
  •        158 SUMJOIN$  
  •        159 SUMDEP$  
  •        160 SUMPRED$  
  •        161 SUMQB$  
  •        162 DIM$  
  •        163 DIMLEVEL$  
  •        164 DIMLEVELKEY$  
  •        165 DIMJOINKEY$  
  •        166 DIMATTR$  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        167 HIER$  
  •        168 HIERLEVEL$  
  •        169 RLS$  
  •        170 RLS_SC$  
  •        171 RLS_GRP$  
  •        172 RLS_CTX$  
  •        173 CONTEXT$  
  •        174 RULESET$  
  •        175 INDPART_PARAM$  
  •        176 OL$  
  •        177 OL$HINTS  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        178 OL$NODES  
  •        179 SQL$  
  •        180 SQL$TEXT  
  •        181 SQLPROF$  
  •        182 SQLPROF$DESC  
  •        183 SQLPROF$ATTR  
  •        184 EXPPKGOBJ$  
  •        185 EXPPKGACT$  
  •        186 EXPDEPOBJ$  
  •        187 EXPDEPACT$  
  •        188 MON_MODS$  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        189 MON_MODS_ALL$  
  •        190 METAVIEW$  
  •        191 METAFILTER$  
  •        192 METAXSL$  
  •        193 METAXSLPARAM$  
  •        194 METASTYLESHEET  
  •        195 METASCRIPT$  
  •        196 METASCRIPTFILTER$  
  •        197 METANAMETRANS$  
  •        198 METAPATHMAP$  
  •        199 EXTERNAL_TAB$  
  •        RNM OBJECT_NAME  
  • ---------- --------------------------------------------------------------------------------------------------------------------  
  •        200 EXTERNAL_LOCATION$  
  • 已选择100行。  
  • SQL>  

  SQL> select * from2  ( select rownum rnm, a.* from ( select OBJECT_NAME from DBA_OBJECTS where object_type='TABLE' ) a3      where rownum <= 200 )4  where rnm > 1005  ;RNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------101 HISTGRM$102 HIST_HEAD$103 DUAL104 PARTOBJ$105 PARTCOL$106 TABPART$107 INDPART$108 SUBPARTCOL$109 TABSUBPART$110 INDSUBPART$111 TABCOMPART$RNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------112 INDCOMPART$113 PARTLOB$114 LOBFRAG$115 LOBCOMPPART$116 DEFSUBPART$117 DEFSUBPARTLOB$118 SYSTEM_PRIVILEGE_MAP119 TABLE_PRIVILEGE_MAP120 STMT_AUDIT_OPTION_MAP121 RESOURCE_MAP122 USER_ASTATUS_MAPRNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------123 EXPACT$124 NOEXP$125 PROCEDUREJAVA$126 PROCEDUREC$127 PROCEDUREPLSQL$128 RESULT$129 KOTTD$130 KOTTB$131 KOTAD$132 KOTMD$133 KOTTBX$RNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------134 KOTADX$135 KOPM$136 VTABLE$137 ATEMPTAB$138 LIBRARY$139 USER_HISTORY$140 MIGRATE$141 ICOLDEP$142 OPERATOR$143 OPBINDING$144 OPANCILLARY$RNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------145 OPARG$146 INDTYPES$147 INDOP$148 INDARRAYTYPE$149 SECOBJ$150 ASSOCIATION$151 USTATS$152 JAVASNM$153 SUM$154 SUMDETAIL$155 SUMINLINE$RNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------156 SUMKEY$157 SUMAGG$158 SUMJOIN$159 SUMDEP$160 SUMPRED$161 SUMQB$162 DIM$163 DIMLEVEL$164 DIMLEVELKEY$165 DIMJOINKEY$166 DIMATTR$RNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------167 HIER$168 HIERLEVEL$169 RLS$170 RLS_SC$171 RLS_GRP$172 RLS_CTX$173 CONTEXT$174 RULESET$175 INDPART_PARAM$176 OL$177 OL$HINTSRNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------178 OL$NODES179 SQL$180 SQL$TEXT181 SQLPROF$182 SQLPROF$DESC183 SQLPROF$ATTR184 EXPPKGOBJ$185 EXPPKGACT$186 EXPDEPOBJ$187 EXPDEPACT$188 MON_MODS$RNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------189 MON_MODS_ALL$190 METAVIEW$191 METAFILTER$192 METAXSL$193 METAXSLPARAM$194 METASTYLESHEET195 METASCRIPT$196 METASCRIPTFILTER$197 METANAMETRANS$198 METAPATHMAP$199 EXTERNAL_TAB$RNM OBJECT_NAME---------- --------------------------------------------------------------------------------------------------------------------200 EXTERNAL_LOCATION$已选择100行。SQL>
  
  
  总结:在oracle中利用rownum产生伪列真的是太方便了, 尤其利用派生表再加上伪列可以写出很复杂的sql语句来。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-251136-1-1.html 上篇帖子: Oracle PL/SQL 学习笔记(四) 下篇帖子: Oracle KEEP池的CACHE特点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表