- 浏览: 520591 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (299)
- Oracle(pl/sql_Erp_Pro*C) (69)
- 设计模式 (4)
- spring (23)
- ext (17)
- apache开源项目应用 (4)
- jquery (16)
- 生活琐事 (8)
- 下载资源 (23)
- mysql (2)
- Eclipse使用积累 (5)
- 报表类(报表/图表) (13)
- php (4)
- Web多彩文本框 (3)
- json (4)
- jqgrid (2)
- ant (2)
- java算法积累 (8)
- EL表达式/JSTL (4)
- poi (3)
- gwt (2)
- 爬网第一步 (2)
- javascript (17)
- Javaweb (8)
- tomcat (1)
- flex (1)
- Java&DB (3)
- J2SE (7)
- linux (3)
- 数据结构 (1)
- dot net (5)
- struts (1)
- ibatis (1)
- log4j (1)
- 项目管理 (1)
- Java native interface(jni,jacob......) (5)
- applet (1)
- VB.net/C#.net/JNI (20)
- css (1)
- Sqlite (1)
- servlet (1)
- REST (1)
最新评论
-
wenhurena:
能不能给一下解压密码roki.work.2017@gmail. ...
Ebs解体新書と学習資料1 -
liutao1600:
楼主写的太好了,每天学习~~
Spring_MVC(6)测试 -
liutao1600:
太好了,每天学习你的文章~~~
Spring_MVC(3)表单页面处理 -
liutao1600:
学习了,太好了
Spring_MVC(2)控制层处理 -
liutao1600:
学习了~~~
Spring_MVC(1)构建简单web应用
Oracle分页函数样例——用于提高当前框架分页性能
- 博客分类:
- Oracle(pl/sql_Erp_Pro*C)
create or replace procedure P_QuerySplit( sqlscript varchar2, --表名/SQL语句 pageSize integer, --每页记录数 pageIndex integer, --当前页 totalCount out number, --总记录数 totalPage out number, --总页数 v_cur out sys_refcursor --返回游标 ) is /** * * */ v_PageSize number; v_PageIndex number; v_SQL_Count varchar2(4000); v_SQL varchar2(4000); v_StartIndex number; v_EndIndex number; begin v_PageSize:=pageSize; if v_PageSize=0 then v_PageSize:=1; end if; --统计记录数量 v_SQL_Count := 'select count(*) from (' ? ? sqlscript ? ?') a '; execute immediate v_SQL_Count into totalCount; --计算总页数 totalPage:=CEIL(totalCount/v_PageSize); --验证页号 如果页号大余了最大页数,返回最后一页 v_PageIndex:=pageIndex; if v_PageIndex>totalPage then v_PageIndex:=totalPage; end if; --计算开始的Index和结束的Index v_StartIndex:=(v_PageIndex-1)*v_PageSize 1; v_EndIndex:=v_PageIndex*v_PageSize; v_SQL:='SELECT /* FIRST_ROWS */* FROM ('; v_SQL:=v_SQL ? ?' SELECT A.*, ROWNUM RN '; v_SQL:=v_SQL ? ?' FROM (' ? ?sqlscript ? ?') A '; v_SQL:=v_SQL ? ?' WHERE ROWNUM <= ' ? ?v_EndIndex; v_SQL:=v_SQL ? ?')WHERE RN >= ' ? ?v_StartIndex; open v_cur for v_SQL; end P_QuerySplit; 带排序的分页存储过程 CREATE OR REPLACE PROCEDURE TABLEPAGE_SELECT(v_page_size int, --the size of a page of list v_current_page int, --the current page of list v_table_name varchar2, --the talbe name v_order_field varchar2,--the order field v_order_sequence varchar2,--the order sequence should by "_desc"or "_asc",_is blank. --v_sql_select varchar2, --the select sql for procedure --v_sql_count varchar2, --the count sql for procedure --v_out_recordcount OUT int, --the num of return rows p_cursor OUT refcursor_pkg.return_cursor) as v_sql varchar2(3000); --the sql for select all rows of list v_sql_count varchar2(3000); --the count sql for procedure v_sql_order varchar2(2000); --the order of list v_count int; -- the amount rows fo original list v_endrownum int; --the end row num of the current page v_startrownum int; --the start row num of the current page BEGIN ----set the order of list if v_order_field!='NO' then v_sql_order :=' ORDER BY '|| v_order_field ||' '||v_order_sequence; else v_sql_order :=''; end if; ----catch the amount rows of list v_sql_count:='SELECT COUNT(ROWNUM) FROM '||v_table_name; execute immediate v_sql_count into v_count; -- v_out_recordcount := v_count; ----set the value of start and end row if v_order_sequence='desc' then v_endrownum:=v_count-(v_current_page-1)*v_page_size; v_startrownum:=v_endrownum - v_page_size + 1; else v_endrownum:= v_current_page * v_page_size; v_startrownum := v_endrownum - v_page_size + 1; end if; ----the sql for page slide v_sql := 'SELECT * FROM (SELECT '||v_table_name||'.*, rownum rn FROM '||v_table_name||' WHERE rownum <= ' || to_char(v_endrownum) ||' '|| v_sql_order||') WHERE rn >= ' || to_char(v_startrownum)||' '||v_sql_order; open p_cursor for v_sql; END TABLEPAGE_SELECT;
发表评论
-
IBatis调用ORACLE的存储过程、函数的返回结果集例子
2012-03-05 23:31 2136import java.io.Serializabl ... -
Oracle入门课件
2011-12-11 22:43 1016下载附件 -
自己经常上的Oracle官网的一些链接~~是啥自己点开看
2011-11-17 23:27 1120http://www.oracle.com/pls/db ... -
Oracle性能诊断艺术源码
2011-08-16 00:51 881请下载。 -
oracle support
2011-06-23 16:34 925https://support.oracle.com/CSP/ ... -
oracle 11g sql code
2011-02-24 20:55 1115附件参考 -
Oracle SQL优化
2011-01-19 23:16 879详见附件。讲述优化器。 -
Oracle PGA概念及调整
2011-01-03 23:18 1751--预备知识PGA(Process Global Area), ... -
修改Oracle SGA——防止oracle内存分配不足而down机
2011-01-03 23:16 2346在安装oracle 10g r2 数据库时,默认的SGA大 ... -
oracle SGA
2011-01-03 23:14 1366系统全局区又称SGA (System Global A ... -
Oracle 高水位概念(hwm)
2010-12-22 22:09 1440说到HWM,我们首先要简要 ... -
CDC积累的plsql用的各种例子
2010-11-09 15:49 839自用,有密码!请勿浪费时间下载。 -
oracle Erp安装和具体财务模块介绍
2010-10-11 12:54 1184http://bbs.erp100.com/thread-20 ... -
Oracle察看表约束
2010-10-08 16:07 11091、我们创建的对象可以从"USER_"开通 ... -
Oracle 行列转换积累
2010-09-29 11:36 1709行列转换包括以下六种情况:*列转行*行转列*多列转换成字符串 ... -
oracle bulk collection
2010-09-14 18:26 1261Oracle Bulk Collection & ... -
oracle discover
2010-09-03 16:28 963oracle discover -
Oracle rawtohex hextoraw
2010-09-03 15:03 3194Oracle 8.1.7 SQL> ed ... -
Oracle Raw,number,varchar2转换
2010-09-03 14:56 2264Oracle Raw,number,varchar2...转换 ... -
Oracle RAW类型解析
2010-09-03 14:52 1425对Oracle Raw类型的详细解剖 以下的文章主要是对O ...
相关推荐
本文将详细介绍如何利用Oracle中的`ROW_NUMBER()`解析函数来实现高效的分页功能,并通过示例对比不同分页方法的优劣。 #### 传统分页方法的问题 1. **ROWNUM方法**: - **原理**:通过`ROWNUM`为结果集中的每一行...
在Oracle数据库中,可以使用内置的SQL分页函数,如ROWNUM或ROW_NUMBER(),结合子查询和临时表,实现高效的分页查询。另外,Oracle还支持索引优化,通过创建索引可以显著提高分页查询的性能。 总的来说,"SSH+ORACLE...
在Oracle数据库中,分页查询是一项非常常见的操作,特别是在处理大量数据时,为了提高用户体验,我们需要将结果集分块加载,这就是所谓的分页。在这个Java和Oracle结合的分页实现中,我们将探讨如何通过Java后端配合...
另一种更高效的方法是使用Oracle的`ROW_NUMBER()`函数,配合`OVER()`子句,这样可以实现更复杂的分页逻辑。比如,如果我们要查询第5页的数据,每页20条,可以这样写: ```sql SELECT * FROM ( SELECT ROW_NUMBER()...
Oracle 分页查询是指从大型数据表中提取指定范围的记录,以便提高查询效率和减少数据传输量。常用的 Oracle 分页查询方法有三种:使用 ROWNUM、使用 ROW_NUMBER() 和使用子查询。 第一种方法:使用 ROWNUM Oracle...
为了解决这个问题,Oracle 10g引入了新的功能:ROW_NUMBER()函数,配合子查询和WITH子句(即CTE,公共表表达式)可以实现更高效的分页: ```sql WITH ordered_data AS ( SELECT t.*, ROW_NUMBER() OVER (ORDER BY ...
"Oracle分页存储过程 终极版"旨在提供一个高效、灵活的解决方案,以应对各种分页查询的需求。这个存储过程优化了性能,并支持各种条件筛选和排序,使得在海量数据中进行分页操作变得更为便捷。 首先,理解分页的...
本篇文章将深入探讨Oracle分页的机制,并提供易于理解的示例。 首先,我们来看SQL标准的`OFFSET-FETCH`和`LIMIT`子句。虽然`LIMIT`不是Oracle的原生语法,但Oracle 12c引入了`FETCH FIRST n ROWS ONLY`和`OFFSET m ...
Oracle数据库在处理大量数据时,为了提高查询效率和用户体验,常常需要使用分页查询。分页不仅能够有效地减少网络传输的数据量,还能让用户逐步浏览数据,提高网页加载速度。以下将详细介绍Oracle数据库中实现分页...
总结,Oracle分页结合Servlet、AJAX、JSON和jQuery可以构建出高性能、用户体验良好的分页应用。Servlet处理后端逻辑和数据交互,AJAX实现前后端无刷新通信,JSON作为数据交换格式,而jQuery则负责前端的数据解析和...
在数据库应用开发中,分页是一种常见的功能,它允许用户在多个页面上分批次查看数据,提高系统的响应速度和用户体验。在PHP中实现对Oracle数据库的分页与对MySQL的实现有所不同,因为Oracle数据库并没有提供类似于...
此外,Oracle 12c引入了一种新的分页方式——`FETCH FIRST ... ROWS ONLY`,它更直观,语法类似于其他数据库系统: ```sql SELECT * FROM your_table ORDER BY some_column OFFSET (start_row - 1) ROWS FETCH NEXT...
在IT行业中,分页是网页应用中不可或缺的一部分,尤其是在处理大量数据时,它能提高页面加载速度并优化用户体验。Oracle数据库作为广泛使用的SQL数据库系统,提供了高效的数据处理能力。本篇将详细介绍如何在JSP...
总之,Java实现Oracle分页策略涉及到数据库查询设计、Java DAO接口的实现以及前端页面的展示。通过合理的分页策略,我们可以有效管理和展示大量的数据库记录,同时提升应用的性能和用户体验。在实际编程中,应根据...
首先,理解Oracle分页查询的基本结构。通常,Oracle的分页查询采用嵌套查询的方式实现。以下是一个典型的分页查询模板: ```sql SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT * FROM TABLE_NAME ) A ...
Oracle JDBC分页实现是数据库操作中的一个重要环节,尤其是在处理大量数据时,为了提高用户体验和系统性能,分页查询显得尤为重要。Oracle数据库提供了多种方法来实现分页查询,其中包括使用ROWNUM伪列、游标...
本文将基于给定的“oracle分页存储过程千万级”文件信息,深入解析其核心概念、设计思路及实现细节。 ### 核心概念解析 #### 1. 存储过程(Stored Procedure) 存储过程是一种预编译的SQL代码块,存储在数据库...
在Oracle数据库中,进行分页查询通常涉及SQL的`ROWNUM`或`ROW_NUMBER()`函数,以及子查询或嵌套查询。`ROWNUM`在早期版本的Oracle中被广泛使用,它会为每行数据分配一个唯一的数字,通过与特定范围的比较来获取指定...
在Windows应用程序(Winform)开发中,分页是必不可少的一个特性,尤其是在处理大量数据时,它能提高应用性能,提供更好的用户体验。本教程将深入讲解如何在C#环境下利用Oracle数据库实现分页功能。 首先,你需要...
在Oracle数据库系统中,实现分页查询通常使用ROWNUM伪列或者结合RANK()、DENSE_RANK()、ROW_NUMBER()等窗口函数。这里我们将详细探讨这些方法及其应用场景。 首先,ROWNUM是一个特殊的伪列,它在查询执行时为每一行...