- 浏览: 507718 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 2096import java.io.Serializabl ... -
Oracle入门课件
2011-12-11 22:43 964下载附件 -
自己经常上的Oracle官网的一些链接~~是啥自己点开看
2011-11-17 23:27 1075http://www.oracle.com/pls/db ... -
Oracle性能诊断艺术源码
2011-08-16 00:51 841请下载。 -
oracle support
2011-06-23 16:34 879https://support.oracle.com/CSP/ ... -
oracle 11g sql code
2011-02-24 20:55 1061附件参考 -
Oracle SQL优化
2011-01-19 23:16 830详见附件。讲述优化器。 -
Oracle PGA概念及调整
2011-01-03 23:18 1705--预备知识PGA(Process Global Area), ... -
修改Oracle SGA——防止oracle内存分配不足而down机
2011-01-03 23:16 2299在安装oracle 10g r2 数据库时,默认的SGA大 ... -
oracle SGA
2011-01-03 23:14 1320系统全局区又称SGA (System Global A ... -
Oracle 高水位概念(hwm)
2010-12-22 22:09 1381说到HWM,我们首先要简要 ... -
CDC积累的plsql用的各种例子
2010-11-09 15:49 800自用,有密码!请勿浪费时间下载。 -
oracle Erp安装和具体财务模块介绍
2010-10-11 12:54 1140http://bbs.erp100.com/thread-20 ... -
Oracle察看表约束
2010-10-08 16:07 10661、我们创建的对象可以从"USER_"开通 ... -
Oracle 行列转换积累
2010-09-29 11:36 1664行列转换包括以下六种情况:*列转行*行转列*多列转换成字符串 ... -
oracle bulk collection
2010-09-14 18:26 1224Oracle Bulk Collection & ... -
oracle discover
2010-09-03 16:28 908oracle discover -
Oracle rawtohex hextoraw
2010-09-03 15:03 3133Oracle 8.1.7 SQL> ed ... -
Oracle Raw,number,varchar2转换
2010-09-03 14:56 2231Oracle Raw,number,varchar2...转换 ... -
Oracle RAW类型解析
2010-09-03 14:52 1373对Oracle Raw类型的详细解剖 以下的文章主要是对O ...
相关推荐
oracle数据库利用解析函数高效实现分页,
主要介绍了PHP实现的oracle分页函数,结合实例形式分析了PHP针对oracle数据库使用rownum代替MySQL中limit实现的分页操作相关技巧,需要的朋友可以参考下
java代码与oracle 函数包实现 jsp分页
oracle 常用函数,connect by用法,分页方法
里面有详细的oracle函数 1、Oracle数据类型 2、Oracle函数分为单行函数和多行函数两大类(sql_function) 单行函数分类 字符函数 数值函数 日期函数 转换函数 通用函数 函数嵌套 分组函数:集合操作符(了解) 实现...
分页技术信息显示页面 用户名 密 码 生 日 职 业 性 别 <td><bean:write name="temp" property="userName"/> <td><bean:write name="temp" property=...
Oracle数据库通用的分页存储过程,含存储过程源码,分页的小例子,供大家参考!
该例子针对上次SQL实现分页公式使用的详细说明--说明具体在函数中怎样使用分页公式和SQL怎样在游标中返回的说明,然后JDBC怎样捞取数据,然后通过Servlet与JSP显示出来。当然该函数可以由读者进一步完成,我主要是...
本文将分别展示使用rownum伪列和row_number()分析函数来完成Oracle数据分页操作的具体使用方法,并分析和比较两者的性能优劣。 一、初始化测试数据 首先测试数据我选取了数据字典all_objects表中的70000条数据,创建...
这是我学习Oracle时,老师给的讲义,包含了Oracle从入门到高级应用的...Day08-Oracle分页查询和视图.pdf Day09-存储过程.pdf Day10-变量定义和循环控制.pdf Day11-plsql游标和函数.pdf Day12-触发器.pdf Day13-索引.pdf
代码如下:import java.sql.CallableStatement;import java.sql.Connection;...public class TestPage { public TestPage() { } public static void main(String[] args) { String driver = “oracle.jdbc.driver
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习….. (一)、mysql的分页查询 mysql的分页查询是最简单的,借助关键字limit即可实现查询,查询语句通式: ...
ORACLE学习资料大全(存过,索引,函数,优化,分页,联表,游标,基础sql)
10.oracle分页查询 21 (1)删除重复记录 22 11.oracle合并查询 24 12.oracle连接 25 13.oracle函数 26 (1)字符函数 26 (2)数学函数 26 (3)日期函数 27 (4)给表取别名的时候,不能加as;但是给列取别名,是可以加as 27...
韩顺平老师 oracle 教程笔记 1.Oracle 认证,与其它数据库比较,安装 2.Oracle 的基本使用--基本命令 3.oracle 用户管理 4.oracle 表的管理(数据类型,表创建删除,数据 CRUD 操作) 5.oracle 表查询(1) 6.oracle 表...
7.掌握oracle各种sql函数 8.了解oracle管理员的基本职责 9.掌握备份和恢复数据库/表的方法 10.理解表空间、数据字典、性能视图 11.掌握维护oracle数据完整性的技巧 12.理解索引概念,会建立索引 13.管理oracle的权限...
一、Mysql使用limit分页 select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize ...二、Oracle使用rownum分页 select * from ( select rownum rn,a.* from table_name a whe