PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2017-11-3 16:22:57

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

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

x
& b6 e: s$ h) _9 M6 o
9 x( ?. L0 @: |
使用oracle数据库查询数据时,每页展示数据有限,大部分情况下需要分页展示。如每页显示10条,一页一页查询出来。下面就来介绍下oracle分页实现1 Y( w3 v- \% a" r9 X
1
9 i! [8 H, u3 T使用T_BASE_PROVINCE表作为测试演示使用,表字段如下
& s" m7 s0 E9 cID        NUMBER(11,0)+ K2 y1 A4 Z( T/ s* u
PROVINCEID        VARCHAR2(6 BYTE)6 @: O, y8 B0 F
PROVINCE        VARCHAR2(40 BYTE)9 u% f5 x# _  q0 l: B/ B$ O! I% Z( C' w, {
数据可以根据自己的需要,插入一定量的测试数据
3 j# I3 ]. a7 B8 moracle如何实现分页
/ D4 K9 \4 |7 E. R- ~27 _& U+ C) N- G. y* v& v( q! g# {
查询下总共数据量/ j; ?. O! {, X
select count(*) from T_BASE_PROVINCE;! o, X2 R- W: H- g$ O
在分页的时候,一般会显示总页数,需要先查询总数据量得到总页数,总页数=总量/每页显示记录数4 |# \, Q- s+ B) I( S1 a' X
oracle如何实现分页
% n- |$ I  Z$ X4 n3! X2 u* Z6 Q- T9 G- Q
前面的测试数据初始化完成之后,查询前20条大概有什么样的数据
4 G& L. Y6 ~: S( Uoracle如何实现分页
1 |+ `# N& t7 n2 M0 W4
: b5 n% c2 L/ X' p% {分页语句一:含order by排序,多一层嵌套,因为order by在select之后执行,不在里面写的话可能会出现不是预期的排序结果
) ^+ G2 v+ x; N  x$ ?4 xselect * * Y3 H9 R. I" {: j1 Y5 f
from (select t.*, rownum rn
. J4 Q$ W7 T: L$ Q  G        from (select *6 [; V6 q4 S  e8 y# E, W. ^$ v
                from T_BASE_PROVINCE
5 I0 ]3 D% ^0 R4 L$ N               order by id asc) t! V* }9 k/ M) K3 c& V
        where rownum <= 20)
2 f: W% k) n5 t0 [( swhere rn > 10;. b5 ]! l4 P' _$ \* e! n
oracle如何实现分页. [2 ^0 C' o' |% ]( D+ A' E
5
8 b3 `! k2 E+ N7 q  z. q; v分页语句二:如果不需要排序,可以使用如下语句
8 {( O/ }' S' B* lselect a1.*
. B7 [1 C# W% _from (select t.*,rownum rn * b) ~/ o; f& v3 n3 I- ~
        from T_BASE_PROVINCE t
' F) P$ C1 l: k8 d" D7 o        where rownum <=20) a1
+ K8 U0 U5 L' \3 c# ~9 R. J; twhere rn >10;7 W6 G. w4 F! U
oracle如何实现分页
7 [! I: H: T. X* y# C6( ]1 H% M5 i8 R+ o; V% v5 y
分页语句三:between and方式,性能没有上面的高,但写法简单, H7 s9 ?8 d) P9 e( F3 R
select a1.*
$ x3 g4 t3 X$ L# V* o- N/ wfrom (select t.*,rownum rn from T_BASE_PROVINCE t) a1 7 o5 ?, q& o$ z; N4 D
where rn between 11 and 20;
1 k. M2 g0 O7 N/ v$ e  Yoracle如何实现分页
! d+ ?2 U% l, k! D76 |( a; T9 n- E% [. H$ r* g
通用分页格式,page是页码,size是每页显示条数
% C6 q9 I- _) ~' }select * # v* {- d5 N  O5 s
from (select t.*, rownum rn) _! |/ V) S+ S; `' k% E! K1 j" N
        from (select *! j! w0 G7 b7 z
                from T_BASE_PROVINCE3 X- f' q# G# L! d0 Q/ m
               order by id asc) t
6 p, V9 g" N2 b- E, Z" u        where rownum <= page*size)% X; ?  T+ |: l: y- I/ L
where rn > (page-1)*size;7 Q6 f9 e+ y9 z; L
- X2 j6 r5 u9 G/ D
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了