PLSQL实现分页

 分页是任何一个网站(bbs,网上商城,blog)都会使用到的技术,因此学习pl/sql编程开发就一定要掌握该技术。如下图:

1.  编写无返回值的存储过程

     首先是掌握最简单的存储过程,无返回值的存储过程。

案例:现有一张表book,表结构如下:

请写一个过程,可以向book表添加书,要求通过java程序调用该过程。
--in:表示这是一个输入参数,默认为in
--out:表示一个输出参数
存储过程代码如下:

 

在java中调用中调用该过程代码如下:

 

     执行,记录被加进去了。

2.  有返回值的存储过程(非列表)
案例:编写一个过程,可以输入雇员的编号,返回该雇员的姓名。
案例扩张:编写一个过程,可以输入雇员的编号,返回该雇员的姓名、工资和岗位。

存储过程代码如下:

 

java调用过程代码如下:

  
运行,成功得出结果。

案例扩张:编写一个过程,可以输入雇员的编号,返回该雇员的姓名、工资和岗位。

java调用过程代码如下:

     运行,成功找出记录。
3.  有返回值的存储过程(列表[结果集])

     案例:编写一个过程,输入部门号,返回该部门所有雇员信息。
对该题分析如下: 
     由于oracle存储过程没有返回值,它的所有返回值都是通过out参数来替代的,列表同样也不例外,但由于是集合,所以不能用一般的参数,必须要用pagkage了。所以要分两部分:
(1). 建立一个包,在该包中,我定义类型test_cursor,是个游标。代码如下:

(2). 建立存储过程,代码如下:

(3). 在java中调用该过程,代码如下:

运行,成功得出部门号是10的所有用户。

4.  编写分页过程 
     要求,请大家编写一个存储过程,要求可以输入表名、每页显示记录数、当前页。返回总记录数,总页数,和返回的结果集。
(1). oracle中的分页实现:

(2). 开发一个包

      建立一个包,在该包中,我定义类型test_cursor,是个游标。代码如下:

(3). 使用java测试该分页过程,代码如下:

     运行,控制台输出:
     rowNum=19
     总页数:4
     编号:7369 名字:SMITH 工资:2850.0
     编号:7499 名字:ALLEN 工资:2450.0
     编号:7521 名字:WARD 工资:1562.0
     编号:7566 名字:JONES 工资:7200.0
     编号:7654 名字:MARTIN 工资:1500.0

新的需要,要求按照薪水从低到高排序,然后取出6-10。

代码如下:

      重新执行一次procedure,java不用改变,运行,控制台输出:
      rowNum=19
      总页数:4
      编号:7900 名字:JAMES 工资:950.0
      编号:7876 名字:ADAMS 工资:1100.0
      编号:7521 名字:WARD 工资:1250.0
      编号:7654 名字:MARTIN 工资:1250.0 
      编号:7934 名字:MILLER 工资:1300.0

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值