`

oracle高效分页存储过程(百万数据级)

 
阅读更多

转自:http://www.cnblogs.com/ceamky/articles/1642367.html

create or replace procedure Pager(
page 
in number,--数据页数,从1开始
pageSize in number,--每页大小
tableName nvarchar2,--表名
strWhere nvarchar2,--where条件
Orderby nvarchar2,
numCount out 
number,--总记录数
v_cur out pkg_query.cur_query) is

strSql 
varchar2(2000);--获取数据的sql语句
pageCount number;--该条件下记录页数
startIndex number;--开始记录
endIndex number;--结束记录

--作者:王东升
--
时间:2010年1月8日14:54:32
--
分页获取数据

begin
  strSql:
='select count(1) from '||tableName;
  
if strWhere is not null or strWhere<>'' then 
     strSql:
=strSql||' where '||strWhere;
  
end if;  
  
EXECUTE IMMEDIATE strSql INTO numCount;
  
--计算数据记录开始和结束
  pageCount:=numCount/pageSize+1;
  startIndex:
=(page-1)*pageSize+1;
  endIndex:
=page*pageSize;
  
  strSql:
='select rownum ro, t.* from '||tableName||' t';  
  strSql:
=strSql||' where rownum<='||endIndex;
  
  
if strWhere is not null or strWhere<>'' then 
     strSql:
=strSql||' and '||strWhere;
  
end if;
  
  
if  Orderby is not null or Orderby<>'' then 
     strSql:
=strSql||' order by '||Orderby;
  
end if;
  
  strSql:
='select * from ('||strSql||') where ro >='||startIndex;  
  DBMS_OUTPUT.put_line(strSql);

  
OPEN v_cur FOR strSql; 
end Pager;

分享到:
评论

相关推荐

    Oracle 高效分页存储过程(修改)

    本文将深入探讨Oracle数据库中的高效分页存储过程及其修改版。 首先,我们要理解什么是分页查询。分页查询是数据库中的一种查询策略,它将结果集分为多个部分,每次只返回一部分(一页)结果给用户。这通常涉及到两...

    Oracle通用数据库存储过程代码--高效分页存储过程

    ### Oracle通用数据库存储过程代码——高效分页存储过程解析 #### 标题解析 标题“Oracle通用数据库存储过程代码——高效分页存储过程”表明这是一个适用于Oracle数据库的存储过程,主要用于实现高效的分页查询功能...

    oracle分页存储过程千万级

    本文将基于给定的“oracle分页存储过程千万级”文件信息,深入解析其核心概念、设计思路及实现细节。 ### 核心概念解析 #### 1. 存储过程(Stored Procedure) 存储过程是一种预编译的SQL代码块,存储在数据库...

    Oracle分页存储过程

    ### Oracle分页存储过程解析与应用 在数据库管理和应用程序开发中,处理大量数据时,分页查询是一项常用且重要的技术。Oracle数据库提供了多种方法来实现数据分页,其中使用存储过程进行分页是一种高效且灵活的方式...

    千万数量级分页存储过程,可支持多表查询,任意排序

    本文详细介绍了如何设计一个能够支持千万数量级数据处理的分页存储过程,包括了多表查询的支持、任意排序功能的实现以及高效的数据获取策略等关键知识点。通过对这些技术点的理解和掌握,可以有效地提高数据库应用的...

    oracle 增加,删除,修改和分页存储过程

    在这个“Oracle增加、删除、修改和分页存储过程”项目中,我们将深入探讨这四个核心的数据库管理功能,并了解如何在PL/SQL环境中实现它们。 1. **增加(Insertion)**: 在Oracle中,创建一个用于插入数据的存储...

    Oracle All 添加 修改 更新 Oracle分页 emp表 存储过程实现

    这个存储过程可以高效地处理emp表中的数据分页展示,同时减少了网络传输的数据量,提高了用户体验。但请注意,当emp表有大量数据且频繁进行分页查询时,考虑使用索引优化排序字段以提高查询效率。 此外,Oracle还...

    kettle oracle循环分页迁移数据的完整例子,生成txt后FTP上传到远程服务器

    4. **数据迁移**:“根据当前页码输出到txt.ktr”工作流可能是将从Oracle数据库中获取的分页数据转化为TXT格式,这是数据转换的一个步骤,便于后续处理或存储。 5. **数据转换**:Kettle提供了丰富的转换步骤,包括...

    百万级的分页存储过程

    ### 百万级的分页存储过程 在处理大量数据时,如何有效地进行分页查询是非常重要的技术之一。本文将详细介绍一个适用于Oracle数据库的高效分页存储过程,并对其内部实现原理进行深入剖析。 #### 存储过程概述 该...

    oracle存储过程通用分页

    在提供的"stu.sql"文件中,可能包含了具体的分页存储过程实现或者示例数据。通过分析和运行这个脚本,你可以更好地理解如何在Oracle环境中实现存储过程的分页功能,并将其应用于实际项目中。 总之,Oracle存储过程...

    sql oracle bootstrap海量存储过程jquery分页

    描述中提到的资源包括异步海量数据分页存储过程,这表明在后端,开发者使用了异步技术来处理大量数据的分页请求,以避免阻塞主线程,提高系统的响应速度。同时,源码可以直接应用于项目中,这对于开发者来说是一个...

    java web与Oracle数据的分页功能

    在Java Web开发中,与Oracle数据库进行交互时,分页功能是常见的需求,尤其是在处理大量数据时,为了提高用户体验和加载速度,分批次地显示数据是必不可少的。本项目提供的源代码正是针对这一需求,提供了在Java Web...

    oracle增删改及分页存储过程

    Oracle数据库是一种广泛应用于企业级应用的数据管理解决方案,它支持丰富的数据类型、高级的查询功能以及存储过程等程序设计元素。存储过程是预编译的SQL和PL/SQL代码集合,可提高性能、简化管理和增强安全性。在...

    oracle存储过程分页.docx

    以下两个存储过程都是为了解决Oracle中的分页问题,适用于处理百万级乃至千万级的数据量: 1. `spAll_ReturnRows` 存储过程: 这个存储过程接受四个输入参数:SQL查询语句、页号、每页记录数以及主键和排序字段。它...

    oracle存储过程学习经典

    #### 高效分页存储过程实例 设计存储过程时,考虑到性能优化尤为重要。例如,通过游标和循环控制,可以实现高效的数据分页,减少不必要的数据加载和处理。 #### 权限管理 - 创建存储过程需要`CREATE PROCEDURE`...

    asp.net+oracle 分页

    在Oracle中,可以创建一个包含分页逻辑的存储过程,然后在.NET中调用。 7. 考虑其他因素:在实际应用中,可能还需要处理数据排序、动态调整PageSize、处理空页面等问题。 通过以上步骤,你就可以在VS2008中使用ASP...

    JAVA_JDBC面向对象分页(初步设计二之oracle)

    总结来说,面向对象的Java JDBC分页查询涉及到创建Page类来存储分页信息,构造Oracle兼容的SQL语句,以及使用PreparedStatement执行查询。在实际开发中,我们还需要关注性能优化、异常处理和代码的可维护性,确保...

    VC查询Oracle数据(包括存储过程、分页查询)

    通过以上技术,开发者可以在VC++环境中高效地查询Oracle数据库,执行存储过程,并实现分页显示大量数据的功能。在实际开发中,还需要根据具体项目需求,考虑并发控制、安全性、代码复用等多方面因素,确保应用的稳定...

    oracle 数据库 plsql 存储过程

    ### Oracle数据库PL/SQL存储过程详解 #### 一、存储过程概述 **Oracle存储过程**是一种可以在Oracle数据库中存储并可被多次调用的PL/SQL代码块。它由一系列的PL/SQL语句组成,可以包含控制流程、变量声明等,能够...

Global site tag (gtag.js) - Google Analytics