Oracle存储过程中分页,用java代码来完成

数据库 Oracle
以下的文章主要介绍的是在Oracle存储过程中,涉及到分页时如何用java代码来调用Oracle存储过程的相关内容的描述。

Oracle存储过程,中涉及到分页时,我建议你用java代码来调用Oracle存储过程,如果你是Oracle的热捧者。那么下面的文章对于你而言一定很有意义。以下的文章就是对相关内容的描述。

create table emp(

  1. id int,  
  2. ename varchar2(30),  
  3. sale number(7,2)  

共7位最大就是这样的数据
)

开发一个包-

 

  1. create or replace package testpackage as  
  2. type test_cursor is ref cursor;  
  3. end testpackage; 

开始写分页的过程

  1. create or replace procedure fenye  
  2. (tableName in varchar2,  
  3. pagesizes in number, 

一页显示记录
 

  1. pageNow in number,  
  2. myrows out number, 

总记录数

  1. myPageCount out number, 

总页数

  1. p_cursor out testpackage.test_cursor 

返回的记录集
)is

定义变量

定义sql语句 字符串-

  1. v_sql varchar2(1000); 

定义sql长度

定义两个整数

  1. v_begin number:=(pageNow-1)*pagesizes+1;  
  2. v_end number:=pageNow*pagesizes; 

开始执行-

  1. v_sql:='select * from   
  2. (select t1.*,rownum rn from ( select * from '||tableName||' order by sale) t1 where rownum<='||v_end||')  
  3. where rn>='||v_begin; 

把游标和sql关联

  1. open p_cursor for v_sql; 

计算myrows和mypageCount,组织了一个sql 语句

  1. v_sql:='select count(*) from '||tableName; 

执行sql,并把返回的值,赋给 myrows

  1. execute immediate v_sql into myrows; 

执行字符串的sql语句 必须格式,计算mypageCount

  1. if mod(myrows,pagesizes)=0 then  
  2. myPageCount:=myrows/pagesizes;  
  3. else  
  4. myPageCount:=myrows/pagesizes+1;  
  5. end if; 

关闭游标

  1. close p_cursor;- 

必须关闭游标,不是不能释放占有的空间,这很重要

  1. end; 

以上文章就是使用java代码 调用Oracle 存储过程的描述。

【编辑推荐】

  1. Oracle存储过程中不存在返回值的缘由
  2. 实现Oracle存储过程的实际应用的代码
  3. Oracle存储过程中应注意的事项
  4. 深入高性能的Oracle动态SQL开发
  5. Oracle字段的转字符串实际操作方案
     

 

责任编辑:佚名 来源: 互联网
相关推荐

2010-04-29 17:31:56

Oracle存储过程

2010-05-05 17:19:32

Oracle存储过程

2010-05-05 14:55:15

Oracle存储过程

2010-04-12 09:26:52

Oracle查询分页

2011-08-12 11:22:53

Oracle存储过程Java

2010-04-16 11:03:02

Oracle存储过程

2010-10-26 14:50:11

oracle存储过程

2011-04-11 17:28:50

oracle存储select语句

2010-04-15 16:54:31

Oracle存储过程

2011-08-16 16:59:58

PLSQL分页存储过程Java

2010-03-30 13:19:57

Oracle存储

2010-04-15 18:06:08

Oracle存储过程

2010-05-06 14:01:12

Oracle分页存储过

2010-04-16 11:31:29

Oracle分页存储过

2010-04-30 08:47:22

Oracle分页存储

2010-04-16 09:03:28

Oracle 存储过程

2010-04-26 10:09:22

Oracle存储过程

2010-03-30 13:30:49

Oracle存储

2011-07-29 13:21:31

CTE递归存储过程真分页

2010-05-13 15:54:56

MySQL分页查询
点赞
收藏

51CTO技术栈公众号