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

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

admin 楼主

2017-11-3 16:22:57

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

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

x

: [) G/ H7 X3 g" ?. o% D1 y; p# d0 n0 C) U. P6 r
使用oracle数据库查询数据时,每页展示数据有限,大部分情况下需要分页展示。如每页显示10条,一页一页查询出来。下面就来介绍下oracle分页实现, I* a9 e$ _% x/ ^) _( }
1
9 L) M  e6 `% a2 o: I& C使用T_BASE_PROVINCE表作为测试演示使用,表字段如下
. n7 v' h& Q( ^- n" CID        NUMBER(11,0)9 I' A7 X) V& f; c4 w( V3 G
PROVINCEID        VARCHAR2(6 BYTE)
0 e; C, q( e+ p  g) X  }  cPROVINCE        VARCHAR2(40 BYTE)4 H3 b8 O% D4 G! u0 ?& B( O+ _; R! y
数据可以根据自己的需要,插入一定量的测试数据
" n* R7 y. z7 `- v, V3 Eoracle如何实现分页
/ ^6 s, p. k% h5 x! s. b25 g9 m$ g' h0 {" _% [9 a5 G
查询下总共数据量" Y6 `* `4 {& {* z( P) C) p
select count(*) from T_BASE_PROVINCE;
8 a3 a0 Y( E: z0 U* y( u在分页的时候,一般会显示总页数,需要先查询总数据量得到总页数,总页数=总量/每页显示记录数5 ~. s4 \8 [3 E. o/ i0 F
oracle如何实现分页
8 E2 @( ]  x( a3 F, w3
" {) G# L3 ]/ D: V前面的测试数据初始化完成之后,查询前20条大概有什么样的数据
. S( d8 V; `, k& i" @. u' d3 |oracle如何实现分页  q, `6 Y- e" C5 h4 r
4& [1 v3 V* \- M! N
分页语句一:含order by排序,多一层嵌套,因为order by在select之后执行,不在里面写的话可能会出现不是预期的排序结果+ }# _( y$ @; q9 S4 k7 T) y6 L' ^
select * % u$ M* {+ G: q, B0 T0 p
from (select t.*, rownum rn
0 S$ p6 S* f% s2 K        from (select *
& H5 t( O! O$ S3 v5 Q! y8 f5 D1 W. f                from T_BASE_PROVINCE
; B0 w4 a9 {- w, v$ e5 _               order by id asc) t; L5 f5 Z% R2 U% T! E
        where rownum <= 20)
  g( g4 l1 Z7 f6 R- c4 Nwhere rn > 10;
' Z  X; H) b' g( r" X- j+ boracle如何实现分页# R3 m) O* |6 Q# G
5+ T: T+ v! v  z  m+ x3 H9 e
分页语句二:如果不需要排序,可以使用如下语句% u0 R% C% V- Y6 \4 `( l3 h
select a1.* 4 h+ m; Q0 O0 ^& A( r
from (select t.*,rownum rn $ f5 n# l- B9 g0 s2 v/ s+ k! a; Y
        from T_BASE_PROVINCE t
, B8 p9 M5 `' I& B; v! i1 H( u        where rownum <=20) a1 4 Z7 w; ]1 p6 C; n- C! Q* C3 H
where rn >10;
) Y3 @( P- k: ~+ D, j3 Boracle如何实现分页) M& C. J1 b7 [- m& ^
6
) S: e( L. Z4 O分页语句三:between and方式,性能没有上面的高,但写法简单
3 G/ h) Y- o0 o7 U+ D/ Bselect a1.* " ?8 f" N; E( N7 M9 @! z7 I$ j; v" M
from (select t.*,rownum rn from T_BASE_PROVINCE t) a1 8 V- ~, u+ l' c
where rn between 11 and 20;
/ U5 A/ {$ k# @! B( N2 @5 Xoracle如何实现分页
# N5 j- G# v! R. i. _9 J4 e7# n; N4 w2 l1 l& `
通用分页格式,page是页码,size是每页显示条数( p; g, Y  f7 d0 D. b: z1 E
select * " G7 l- ]+ U, G3 k  e* B
from (select t.*, rownum rn
, Z5 R! o  }* {7 l1 k0 X2 i  @: s        from (select *: `( a4 j9 E9 g+ H' A8 D+ v2 U0 s! ]
                from T_BASE_PROVINCE% O8 ]7 c  D# I4 n- T
               order by id asc) t
0 n; \1 v* H( g        where rownum <= page*size)" Z3 q" ]) d0 ]" N2 L" }4 y
where rn > (page-1)*size;2 ]$ l' H. H, x' M0 M

% ]+ W7 {, S1 U' h9 S" B* z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了