iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Sql: Oracle paging
  • 860
分享到

Sql: Oracle paging

Sql:Oraclepaging 2020-04-28 09:04:46 860人浏览 猪猪侠
摘要

--书分类目录kind --涂聚文 Geovin Du create table geovindu.BookKindList ( BookKindID INT PRIMARY KEY, BookKindName nvarcha&

--书分类目录kind 
--涂聚文 Geovin Du 
create table geovindu.BookKindList
(
	BookKindID INT   PRIMARY KEY,
	BookKindName nvarchar2(500) not null,
	BookKindParent INT  null,
	BookKindCode varchar(100)   ---編號
);
--序列创建
 
drop SEQUENCE BookKindList_SEQ;

CREATE SEQUENCE geovindu.BookKindList_SEQ
INCREMENT BY 1     -- 每次加几个
START WITH 1     -- 从1开始计数
NOMAXVALUE        -- 不设置最大值
NOCYCLE            -- 一直累加,不循环
NOCACHE;           --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE

--自增长触发器  
drop trigger BookKindList_ID_AUTO;


 create or replace trigger geovindu.BookKindList_ID_AUTO
  before insert on geovindu.BookKindList   --BookKindList 是表名
  for each row
declare
  nextid number;
begin
  IF :new.BookKindID IS NULL or :new.BookKindID=0 THEN --BookKindID是列名
    select geovindu.BookKindList_SEQ.Nextval --BookKindList_SEQ正是刚才创建的
    into nextid
    from dual;
    :new.BookKindID:=nextid;
  end if;
end;    

--对表的说明
comment on table geovindu.BookKindList is "书分类目录";
--对表中列的说明
comment on column geovindu.BookKindList.BookKindID is "目录ID";
comment on column geovindu.BookKindList.BookKindName is "目录名称";
comment on column geovindu.BookKindList.BookKindParent is "目录父ID";
comment on column geovindu.BookKindList.BookKindCode is "目录code";


declare
gg nvarchar2(500):="geovindu2";
dd nvarchar2(500):="d";
begin
select REPLACE(gg, chr(10), "") into dd from dual;
dbms_output.put_line(dd);
end;



insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("六福书目录",0,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("自然科学",1,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("社会科学",1,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("文学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("设计艺术",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("小说",4,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("诗词散曲",4,"");
COMMIT;
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("文学理论",4,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("小品",4,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("杂文",4,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("散文",4,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("文言文",4,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("设计理论",5,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("平面设计",5,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("立体设计",5,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("影像设计",5,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("广告设计",5,"");
COMMIT;
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("数学",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("物理",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("化学",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("生物学",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("医学",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("天文学",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("地理学",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("空间理论学",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("环境环保学",2,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("工程学",2,"");
COMMIT;
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("心理学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("经济学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("统计学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("审计学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("会计学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("社会学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("哲学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("宗教学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("政治学",3,"");
insert into geovindu.BookKindList(BookKindName,BookKindParent,BookKindCode) values("法学",3,"");
COMMIT;

-- 通过分析函数分页
declare pageNumber int:=1;
pageSize int:=10;
begin
pageNumber:=1;
pageSize:=5;
--1 
SELECT t2.BookKindName,t2.BookKindParent,t2.BookKindID FROM(
  SELECT t1.BookKindName,t1.BookKindParent,t1.BookKindID,ROW_NUMBER() OVER(ORDER BY t1.BookKindID) rn
  FROM geovindu.BookKindList t1
) t2 WHERE t2.rn >= ((pageNumber-1)*pageSize+1) AND t2.rn <= (pageNumber*pageSize);
end;



declare pageNumber int:=1;
pageSize int:=10;
rid int:=0;
begin
pageNumber:=1;
pageSize:=5;
 SELECT t2.BookKindName,t2.BookKindParent,t2.BookKindID
  FROM(
  SELECT t1.BookKindName,t1.BookKindParent,t1.BookKindID,ROW_NUMBER() OVER(ORDER BY t1.BookKindID) rn
  FROM geovindu.BookKindList t1
) t2 WHERE t2.rn >= ((pageNumber-1)*pageSize+1) AND t2.rn <= (pageNumber*pageSize);
end;


--
select * from (select rownum rn,a.* from (select BookKindName,BookKindParent,BookKindID from geovindu.BookKindList) a where rownum<=10)  where rn>=6;


SELECT t2.BookKindName,t2.BookKindParent,t2.BookKindID FROM(
  SELECT t1.BookKindName,t1.BookKindParent,t1.BookKindID,ROW_NUMBER() OVER(ORDER BY t1.BookKindID) rn
  FROM geovindu.BookKindList t1
) t2 WHERE t2.rn >= ((1-1)*5+1) AND t2.rn <= (1*5);


--2
SELECT t2.BookKindName,t2.BookKindParent,t2.BookKindID FROM(
  SELECT t1.BookKindName,t1.BookKindParent,t1.BookKindID,ROW_NUMBER() OVER(ORDER BY t1.BookKindID) rn
  FROM geovindu.BookKindList t1
) t2 WHERE t2.rn >= ((2-1)*5+1) AND t2.rn <= (2*5);

--3
SELECT t2.BookKindName,t2.BookKindParent,t2.BookKindID FROM(
  SELECT t1.BookKindName,t1.BookKindParent,t1.BookKindID,ROW_NUMBER() OVER(ORDER BY t1.BookKindID) rn
  FROM geovindu.BookKindList t1
) t2 WHERE t2.rn >= ((3-1)*5+1) AND t2.rn <= (3*5);



 SELECT t1.BookKindName,t1.BookKindParent,ROW_NUMBER() OVER(ORDER BY t1.BookKindID) rn
  FROM geovindu.BookKindList t1


-- 1.2、通过 ROWNUM 分页 
SELECT t3.BookKindName,t3.BookKindParent,t3.BookKindID FROM(
  SELECT t2.*,ROWNUM rn FROM(
    SELECT t1.BookKindName,t1.BookKindParent,t1.BookKindID FROM geovindu.BookKindList t1 ORDER BY t1.BookKindID
  ) t2 WHERE ROWNUM <= (1*5)
) t3 WHERE t3.rn >= ((1-1)*5+1);


SELECT t3.BookKindName,t3.BookKindParent,t3.BookKindID FROM(
  SELECT t2.*,ROWNUM rn FROM(
    SELECT t1.BookKindName,t1.BookKindParent,t1.BookKindID FROM geovindu.BookKindList t1 ORDER BY t1.BookKindID
  ) t2 WHERE ROWNUM <= (2*5)
) t3 WHERE t3.rn >= ((2-1)*5+1);




--通过 ROWNUM 分页的一种变通写法(相对来说更好理解):
SELECT t3.BookKindName,t3.BookKindParent,t3.BookKindID FROM(
  SELECT t2.*,ROWNUM rn FROM(
    SELECT t1.BookKindName,t1.BookKindParent,t1.BookKindID FROM geovindu.BookKindList t1 ORDER BY t1.BookKindID
  ) t2
) t3 WHERE t3.rn >= ((1-1)*5+1) AND t3.rn <= (1*5);




-- 1.3、通过 ROWID 分页
SELECT t4.BookKindName,t4.BookKindParent,t4.BookKindID
FROM geovindu.BookKindList t4
WHERE t4.ROWID IN(
  SELECT t3.BookKindID FROM(
    SELECT t2.BookKindID,ROWNUM rn FROM(
      SELECT t1.ROWID BookKindID FROM geovindu.BookKindList t1 ORDER BY t1.BookKindID
    ) t2 WHERE ROWNUM <= (1*5)
  ) t3 WHERE t3.rn >= ((1-1)*5+1)
) ORDER BY t4.BookKindID;


SELECT t4.BookKindName,t4.BookKindParent,t4.BookKindID
FROM geovindu.BookKindList t4
WHERE t4.ROWID IN(
  SELECT t3.BookKindID FROM(
    SELECT t2.BookKindID,ROWNUM rn FROM(
      SELECT t1.ROWID BookKindID FROM geovindu.BookKindList t1 ORDER BY t1.BookKindID
    ) t2 WHERE ROWNUM <= (2*5)
  ) t3 WHERE t3.rn >= ((2-1)*5+1)
) ORDER BY t4.BookKindID;


SELECT t4.BookKindName,t4.BookKindParent,t4.BookKindID
FROM geovindu.BookKindList t4
WHERE t4.ROWID IN(
  SELECT t3.BookKindID FROM(
    SELECT t2.BookKindID,ROWNUM rn FROM(
      SELECT t1.ROWID BookKindID FROM geovindu.BookKindList t1 ORDER BY t1.BookKindID
    ) t2 WHERE ROWNUM <= (3*5)
  ) t3 WHERE t3.rn >= ((3-1)*5+1)
) ORDER BY t4.BookKindID;

  

您可能感兴趣的文档:

--结束END--

本文标题: Sql: Oracle paging

本文链接: https://www.lsjlt.com/news/3335.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Sql: Oracle paging
    --书分类目录kind --涂聚文 Geovin Du create table geovindu.BookKindList ( BookKindID INT PRIMARY KEY, BookKindName nvarcha&...
    99+
    2020-04-28
    Sql: Oracle paging
  • 怎么使用Jetpack paging
    本篇内容主要讲解“怎么使用Jetpack paging”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Jetpack paging”吧!1. Demo概述在正式介绍paging 的使用之前...
    99+
    2023-06-04
  • ORA-16243: paging out string bytes of memory to disk ORACLE 报错 故障修复 远程处理
    文档解释 ORA-16243: paging out string bytes of memory to disk Cause: Builder process is paging out momery to free up space i...
    99+
    2023-11-05
    报错 故障 paging
  • 【SQL】Oracle SQL monitor
    据说,在Oracle企业版数据库中有一个免费的工具,乃SQL优化之利器,那就是Oracle SQL monitor。下面,由DBA+社群原创专家周俊,给大家科普一下这一被埋没的神器。专家简介周俊DBA+社群原创专家具有14年以上Oracle...
    99+
    2022-10-18
  • oracle sql
    Data Definition          CREATE, to create a new database...
    99+
    2022-10-18
  • oracle sql monitor
    动态性能视图V$SQL_MONITOR,该视图用以显示Oracle监视的SQL语句信息。V$SQL_MONITOR、v$sql_plan_monitor中的信息将被实时刷新,频率为每秒1次。SQL语句执行完...
    99+
    2022-10-18
  • oracle sql 调优
    Select * From Table(dbms_xplan.display_cursor(sql_id => '9s7pt2ay4t3jg')); Declare  l...
    99+
    2022-10-18
  • oracle SQL语句
    1.表空间 创建 create tablespace abc datafile ‘/u01/app/oracle/oradata/TestDB11/catalog.dbf’ 自定义数据文件位置及名...
    99+
    2022-10-18
  • Oracle——基本SQL
    第 1 章 基本SQL-SELECT语句 对于日期型数据, 做 *, / 运算不合法 包含空值的数学表达式的值都为空值 别名使用双引号! oracle 中连接字符串使用 "||", 而不是 java 中的 "+" 日...
    99+
    2019-02-20
    Oracle——基本SQL 数据库入门 数据库基础教程
  • ORACLE SQL TUNING ADVISOR
    sql tunning advisor 使用的主要步骤:1 建立tunning task2 执行task3 显示tunning 结果4 根据建议来运行相应的调优方法 ----ADVISOR授权 1 基于...
    99+
    2022-10-18
  • Oracle SQL Model Clause
    参考官方文档,学习了一下Oracle SQL Model语法。 摘自Pro Oracle SQL: With the MODEL clause, you build matrixes (or a mo...
    99+
    2022-10-18
  • Oracle 10046 SQL TRACE
    10046是一个Oracle的内部事件(event),通过设置这个事件可以得到Oracle内部执行系统解析、调用、等待、绑定变量等详细的trace信息,对于分析系统的性能有着非常重要的作用。 设置10...
    99+
    2022-10-18
  • Oracle工具sql
    查询处于锁表中的表SELECT      l.session_id SID,      ...
    99+
    2022-10-18
  • oracle 常用sql
    查询版本号:select * from product_component_version查询ip:select utl_inaddr.get_host_address from dua...
    99+
    2022-10-18
  • oracle SQL优化器SQL Tuning Advisor (STA)
    一  创建测试数据 SQL> conn scott/oracle Connected. SQL> create table obj as select * from...
    99+
    2022-10-18
  • Oracle SQL 优化之sql tuning advisor (STA)
    前言: 经常可以碰到优化sql的需求,开发人员直接扔过来一个SQL让DBA优化,然后怎么办? 当然,经验丰富的DBA可以从各种方向下手,有时通过建立正确索引即可获得很好的优化效果,但是那些复杂SQ...
    99+
    2022-10-18
  • oracle EBS dba SQL scripts
    -查看EBS用户的所有职责:SELECT frt.responsibility_name, furg.END_DATE  FROM fnd_user_resp_groups  f...
    99+
    2022-10-18
  • 登录 Oracle SQL Developer
    如果出现ORA-12514的错误,那么需要找到文件F:\app\khe\product\11.2.0\dbhome_3\NETWORK\ADMIN\listener.ora=================...
    99+
    2022-10-18
  • oracle之sql查询
    oracle表管理表名和列的命名规则:必须以字母开头长度不能超过30字符不能使用oracle的保留字只能使用如下字符:A-Z,a-z,0-9,$,#等字符型:char:定长 最大2000字符例子:cha&#...
    99+
    2022-10-18
  • Oracle之SQL执行
    1、Oracle Concepts Guide一书中详细地讲解了SQL语言和数据库的每个部分。建议使用Oracle的人都去读一读《Oracle Concepts Guide》。2、共享池和数据库高速缓存2....
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作