PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

[转载电子书] Oracle 实现分页查询!

[复制链接]

2017-11-3 16:22:57 2864 0

admin 发表于 2017-11-3 16:22:57 |阅读模式

admin 楼主

2017-11-3 16:22:57

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

! n( q$ J( S# X0 ^! f9 R8 S. L) V
使用oracle数据库查询数据时,每页展示数据有限,大部分情况下需要分页展示。如每页显示10条,一页一页查询出来。下面就来介绍下oracle分页实现
0 N4 [; j% n6 ?% M1
, ~1 v2 `# x2 T  ^) t  P/ m" @2 W- e使用T_BASE_PROVINCE表作为测试演示使用,表字段如下
! J/ V* Y3 W% n. `ID        NUMBER(11,0)  e" ^* b2 P- W) ~* ]0 T. M+ x5 {7 B
PROVINCEID        VARCHAR2(6 BYTE). u3 C1 h4 h3 z% q$ s
PROVINCE        VARCHAR2(40 BYTE): z% g9 b5 K5 v+ v; ]6 n$ k0 r
数据可以根据自己的需要,插入一定量的测试数据
- |  p+ w5 V! Z8 Moracle如何实现分页% U6 L9 z& h. j" K7 B
2
% _$ Y) l  T. l* d查询下总共数据量. A0 [9 l( K! a6 Q, h
select count(*) from T_BASE_PROVINCE;3 [5 G/ h0 ?+ j2 Z* V
在分页的时候,一般会显示总页数,需要先查询总数据量得到总页数,总页数=总量/每页显示记录数
" Q9 v, G3 `3 @* h- \; {oracle如何实现分页3 z/ q: H' k) s; u" [
3
8 O0 P+ y3 m8 }前面的测试数据初始化完成之后,查询前20条大概有什么样的数据
# u- y9 }/ O' E$ L3 l9 Joracle如何实现分页
. A# F5 Y: x2 |1 x/ s4
/ l; f/ {* M5 v/ o9 s6 k" x' D分页语句一:含order by排序,多一层嵌套,因为order by在select之后执行,不在里面写的话可能会出现不是预期的排序结果4 L4 u: r3 I" t% t! G! |8 E2 S
select * 7 c7 Z- a, K- p/ t
from (select t.*, rownum rn
5 @9 `8 y4 \; s. I! V        from (select *
( \1 n- g, j3 t! }& r8 i                from T_BASE_PROVINCE% P7 T& |1 |8 c) s2 `
               order by id asc) t/ F! e3 C# u- J5 v+ _
        where rownum <= 20)" {! J4 T- V) X; ~. k
where rn > 10;
: ?: N1 h0 s$ _- n9 ]& Z1 h8 h& m' ^oracle如何实现分页+ z7 O: M! Z- h
5. Z+ H  J2 Z" l4 j9 b
分页语句二:如果不需要排序,可以使用如下语句3 z8 `- [& ?+ L+ ?$ c; l
select a1.*
$ @" l' q; H- ~; ^9 ~2 A- h* \$ p( \from (select t.*,rownum rn ' ]$ a! G7 L8 H( e: H$ }  i
        from T_BASE_PROVINCE t
8 B" W3 X* C3 i5 f0 n        where rownum <=20) a1
- a5 b+ k3 _9 b5 L* swhere rn >10;9 ~; A1 f. M9 v
oracle如何实现分页2 [, m, K( a1 Y8 J
69 i# u2 v$ u. i- c' ?8 h
分页语句三:between and方式,性能没有上面的高,但写法简单
+ ?3 H3 A. v3 zselect a1.*
9 n! H) u8 \. q( c& |from (select t.*,rownum rn from T_BASE_PROVINCE t) a1 ) _& E- }; `% w, x8 U/ \1 g) D
where rn between 11 and 20;
% K! J  H7 k. p. b4 \" t, }oracle如何实现分页9 j/ X0 Y- A4 H. s4 j4 \' T/ M9 f0 M
7" a" d  p* A& i% M& R# W
通用分页格式,page是页码,size是每页显示条数
1 ^. j, j% r2 c+ D* V' @select *
% _% ]3 z1 z1 `$ Bfrom (select t.*, rownum rn6 b$ F2 o- |( E9 c4 I
        from (select ** @& s# g) N9 L4 u5 @* m
                from T_BASE_PROVINCE4 E$ o9 j" e# y$ `$ n5 w9 ?' y
               order by id asc) t
, _2 \2 [6 m$ Q" ?        where rownum <= page*size)
0 ]% t( ~1 `0 A, {. H2 rwhere rn > (page-1)*size;
5 K2 g7 w+ t! v3 l4 L& _3 u6 l: M3 u7 b& s2 W6 Z, O
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了