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 2872 0

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

admin 楼主

2017-11-3 16:22:57

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

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

x

. P: M: K* z) n$ W; \) m1 D$ q7 G! h$ E  H; d3 i( W
使用oracle数据库查询数据时,每页展示数据有限,大部分情况下需要分页展示。如每页显示10条,一页一页查询出来。下面就来介绍下oracle分页实现5 o; m6 T0 G# r8 z- H: ~* {" q+ I
1: y9 ~. Z0 }7 k" @2 w' K
使用T_BASE_PROVINCE表作为测试演示使用,表字段如下
' H1 O0 V+ ~: M* B4 [ID        NUMBER(11,0)
, u7 k# k- t; }PROVINCEID        VARCHAR2(6 BYTE)
/ k4 Q4 q4 Q6 n+ g, W8 `PROVINCE        VARCHAR2(40 BYTE)
$ _! s' w" C) W0 U. J数据可以根据自己的需要,插入一定量的测试数据( n( ?5 I0 Z' z7 Y6 n' s
oracle如何实现分页$ m- L7 F6 g9 n
2$ ?& m* [2 _! t# j* d
查询下总共数据量; y2 c, \) n! N: }/ _( B& R
select count(*) from T_BASE_PROVINCE;* b: K% j6 Z5 p: ^* f  D
在分页的时候,一般会显示总页数,需要先查询总数据量得到总页数,总页数=总量/每页显示记录数
' {" C  o* S$ i5 Zoracle如何实现分页4 W; s; o, {. k& j% Y2 n  v5 o) R' W" H
3
9 ?! n& P5 F7 T) e: Q. u. b* h前面的测试数据初始化完成之后,查询前20条大概有什么样的数据1 ~6 k& M9 ?5 {& |  X& m
oracle如何实现分页: x) Z0 F7 q, n. a8 W0 c& j
4
5 m' q4 `9 v  u# l. M+ g分页语句一:含order by排序,多一层嵌套,因为order by在select之后执行,不在里面写的话可能会出现不是预期的排序结果
5 n9 r; c* Y+ j" [4 Vselect *
, m- d1 Z! a) {* d# `from (select t.*, rownum rn
5 q0 B/ [: t6 v7 T* m8 H        from (select *
. j. ^4 I1 d8 a, a! Q                from T_BASE_PROVINCE
1 @% @6 P+ G8 B2 G2 z  Z               order by id asc) t: n. w0 T1 ]. A
        where rownum <= 20)
8 a( y; J" F7 B+ ?6 h3 Iwhere rn > 10;' {; Y* n; ~( r* @7 D
oracle如何实现分页. Q/ V$ c! Z- V. f
5
) }/ t2 S3 i: j/ D' E6 F分页语句二:如果不需要排序,可以使用如下语句
/ F% Q' r& J2 E$ c1 Qselect a1.*
+ g" p. }* B( s' g- v5 Qfrom (select t.*,rownum rn
2 r2 Q7 h7 Z  K        from T_BASE_PROVINCE t ; v( F$ j. G0 ]) @% i7 Y
        where rownum <=20) a1
! F; U/ @; r  S# y. b% Ywhere rn >10;
- Z0 K" P0 z4 J# q9 ~4 [oracle如何实现分页: h; J, _6 B1 Z/ G
6$ S( O% H+ `. T2 X5 r! |
分页语句三:between and方式,性能没有上面的高,但写法简单: X) b0 T+ X8 J" m, U: t
select a1.*   p1 R; F+ a+ Q  U* j
from (select t.*,rownum rn from T_BASE_PROVINCE t) a1
4 z3 x- b8 l: M4 V6 V# wwhere rn between 11 and 20;1 N1 x! Z5 m. _
oracle如何实现分页5 U* ~. c) A4 E* A; c
7! f7 F  [, J5 l4 R
通用分页格式,page是页码,size是每页显示条数
0 K, g2 q7 l4 x; @; `. kselect * 4 ]8 l3 p5 q/ n0 {; Y5 V+ _
from (select t.*, rownum rn
! A+ y, w6 H, u: K( `: w        from (select *
& n) H) ^( [8 K" Y, a                from T_BASE_PROVINCE
3 q$ I' U2 ?7 e; \               order by id asc) t
  A9 z9 d9 ?; p% X2 h4 ~7 z        where rownum <= page*size)) y5 B' B: ?1 J, M  b9 W
where rn > (page-1)*size;8 ~% `- |- Z! `7 I$ d
5 ~6 c: w' ~7 r, {( g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了