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

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

成都创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为左权企业提供专业的成都做网站、网站制作、成都外贸网站建设左权网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

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 存储过程的描述。

文章题目:Oracle存储过程中分页,用java代码来完成
网页URL:http://www.shufengxianlan.com/qtweb/news45/399795.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联