`
chinalikelove
  • 浏览: 9159 次
  • 性别: Icon_minigender_1
  • 来自: 道州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

在Oracle中实现分页查询的四个方法

阅读更多
大家在查询数据库的时候,经常会碰到要查询指定的结果.那么就以要"在Oracle中返回指定行数之间的查询结果,以实现web记录分页"为说明.
在Oracle中有许多的方法,我在这里仅仅列出了四种,希望能对大家有所帮助,当然,要是大家有更好的方法,也可以写一下,和一起分享.

第一个方法:经常使用的
1)
select ... where rownum < 50 minus select ... where rownum < 30   

    这个方法因为用到了minus操作符,所以速度会受影响。  

2)第二个方法
SELECT results.* FROM   
( SELECT t2.*, rownum rownumber FROM   
( SELECT t.* FROM mv_table t WHERE ORDER BY col1) t2) results   
WHERE results.rownumber BETWEEN 30 and 50 ORDER BY col1  


3)第三个方法 
定义cursor x, 2.fetch x a,b,c; loop ...... end loop;  
其中用两个循环变量和一个FLAG变量,分别表示,当前的记录数,属于第几页的, 及第一页面。
   
ps;   
j:=to_number(kafyf);   
i:=1;   
open cx;   
loop fetch cx into col1,col2,col3,col4,col5,col6;   
if cx%NOTFOUND then exit; end if;   
    if i>=j then   
htp.tableRowOpen;   
htp.tableData(col1);   
htp.tableData(col2);   
htp.tableData(col4);   
htp.tableData(col5);   
htp.tableData(col6);   
htp.tableData(col3);   
htp.tableRowClose;   
i:=i+1;   
if i=j+10 then l:=1; exit; end if;   
else i:=i+1;   
end if;   
end loop;   
close x;   


该方法是名叫‘淼’的网友写的script,他用到了Oracle web2kit中的OWA_UTIL package。 

4)
第四个是:
Externalize ROWNUM by implementing queries like this:  

SELECT ...  
FROM (SELECT ROWNUM rnum, ... FROM ...)  
WHERE rnum BETWEEN :low AND :high AND rownum <(:high :low + 1);  

where :low and :high are dynamically generated values depending on which result page the user 
is viewing. Typically, they are used to show "Next 15 matches", "Previous 15 matches" links at the 
bottom of each page

分享到:
评论

相关推荐

    oracle的分页查询

    在 Oracle 中,ROWNUP 伪列是一个特殊的列,可以用来实现分页查询。例如,我们可以使用以下语句来查询前三个行: ```sql Select * from table1 where rownum ; ``` 这将返回表 table1 中的前三个行。但是,如果...

    oracle分页查询sql

    通过以上分析可以看出,在Oracle中实现高效的分页查询需要综合考虑查询结构、索引使用以及查询优化器的选择等多个方面。合理地运用基于`ROWNUM`的分页查询方法及其优化技巧,可以显著提升系统的性能表现和用户体验。

    oracle分页查询并返回总记录数据存储过程

    Oracle 数据库提供了多种方法来实现分页查询,其中使用存储过程是一种高效且灵活的方式。本文将详细介绍如何在 Oracle 中创建一个用于分页查询并返回总记录数的存储过程。 #### 核心概念 1. **存储过程**:存储在...

    解决Oracle分页查询中排序与效率问题

    ### 解决Oracle分页查询中排序与效率问题 在Oracle数据库中进行分页查询时,经常会出现性能瓶颈,尤其是在处理大数据量的情况下。本篇文章将详细探讨如何优化Oracle分页查询中的排序与效率问题。 #### 一、理解...

    Oracle分页查询Oracle分页查询

    ### Oracle分页查询详解 #### 一、引言 在数据库应用中,为了提高用户体验以及减少服务器负担,分页查询成为了一种常见的数据检索技术。Oracle作为一种广泛使用的数据库管理系统,支持多种方式进行分页查询。本文...

    Oracle分页(limit方式的运用)

    Oracle数据库作为业界广泛使用的数据库系统之一,在实现分页查询方面提供了多种方法。其中一种常用的方法就是使用`LIMIT`子句(尽管Oracle数据库本身不直接支持标准SQL中的`LIMIT`关键字,但可以通过其他方式模拟其...

    Oracle存储过程分页

    #### 一、Oracle存储过程分页原理及实现方法 在Oracle数据库中,实现分页查询通常有两种方法:一种是使用`ROWNUM`伪列,另一种则是通过存储过程实现。其中,使用存储过程进行分页更加灵活且易于维护。 #### 二、...

    实现分页查询(上)

    在网页开发中,分页查询是一项非常重要的技术,它能够帮助用户有条不紊地浏览大量数据,提高用户体验,同时也减轻了服务器一次性处理过多数据的压力。本篇文章将深入探讨分页查询的概念、实现原理以及常见方法,以...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    在这个实例中,iBatis作为数据访问层,负责与Oracle数据库交互,执行分页查询和插入、更新、删除操作。它通过XML或注解方式定义SQL语句,使得数据库操作更加直观和灵活。 4. **Oracle**:Oracle数据库是企业级的...

    oracle的伪列与分页

    综上所述,Oracle伪列如ROWID和ROWNUM在实际应用中发挥着重要作用,不仅可以帮助优化查询性能,还能轻松实现复杂的分页功能。同时,通过Java JDBC编程,可以进一步提升应用程序与Oracle数据库的集成度和灵活性。

    使用简单的SQL语句实现的Oracle数据库分页技术

    在Oracle数据库中实现分页查询是一项常见的需求,尤其是在处理大量数据时。本文将介绍一种利用简单SQL语句来实现Oracle数据库分页的方法,这种方法不依赖于复杂的PL/SQL过程或函数,而是通过SQL查询的巧妙设计来达到...

    Oracle分页

    然后,根据这些参数构建SQL查询语句,结合上面提到的Oracle分页方法,获取对应的数据。同时,Servlet可以处理请求和响应,将分页数据以特定格式(如JSON)返回给前端。 三、AJAX异步请求 AJAX(Asynchronous ...

    Oracle分页详解

    ### Oracle分页详解 ...本文详细介绍了Oracle数据库中分页查询的实现方法,并提供了一个实用的存储过程示例。通过合理设置参数和构建SQL语句,可以有效地实现高效的数据分页功能,提升系统的响应速度和用户体验。

    Oracle中使用存储过程实现分页.docx

    总的来说,这个Oracle存储过程的实现方式有效地解决了在Oracle数据库中进行分页查询的问题,通过动态构建SQL语句和使用游标,使得在应用程序中可以灵活地处理和展示大量数据。这种方式不仅提高了代码的可维护性,还...

    Oracle分页查询

    ### Oracle分页查询详解 #### 一、Oracle分页查询基础 在Oracle数据库中,实现分页查询是一项常见的需求,特别是在处理大量数据时。本文将详细介绍Oracle中的分页查询技术,帮助初学者快速掌握这一技能。 #### 二...

    SpringBoot整合mybatis-plus实现多数据源的动态切换且支持分页查询.pdf

    这里提到了四个关键依赖:Mybatis-Plus、PostgreSQL驱动、Oracle驱动以及PageHelper分页插件。在`pom.xml`文件中,添加如下代码: ```xml &lt;groupId&gt;com.baomidou&lt;/groupId&gt; &lt;artifactId&gt;mybatis-plus ...

    mysql、sqlserver、oracle分页,java分页统一接口实现

    MySQL、SQL Server、Oracle 分页及 Java 分页统一...本文介绍了 MySQL、SQL Server、Oracle 分页的实现方法,并提供了一个 Java 分页统一接口的实现例子。这些技术可以帮助开发者更方便地实现数据库操作和分页功能。

    oracle包用存储过程图分页

    根据提供的信息,我们可以详细解析如何在Oracle数据库中创建一个包,并在该包内定义一个存储过程来实现分页功能。这种做法通常用于处理大量数据时,以提高查询效率和用户体验。 ### Oracle包与存储过程 #### 一、...

    Oracle SQL语句分页问题

    本文将针对Oracle数据库中的SQL分页问题进行深入探讨,并提供具体的实现方法。 #### 二、Oracle SQL分页原理及方法 ##### 2.1 基本概念 分页查询是指将查询结果按照一定的数量分割成多个“页面”,用户可以通过...

    分页查询

    在这个主题下,我们将探讨分页查询的基本概念、实现方式以及与Spring、Struts、Hibernate这三大Java Web框架的整合。 一、分页查询基础 1. 分页概念:分页查询是指在检索数据时,将结果集按指定的数量分段展示,每...

Global site tag (gtag.js) - Google Analytics