ITPub博客

首页 > 数据库 > Oracle > Oracle数据库存储过程分页处理

Oracle数据库存储过程分页处理

Oracle 作者:shyangxxx 时间:2012-09-06 13:15:49 0 删除 编辑

oracle存储过程分页处理

  知识点链接

  1、oracle分页

  2、游标使用

  创建存储过程

  [sql]

  --创建存储过程(startpoint 开始点、getnum 取出来数量)

  create or replace procedure copylimit(startpoint number,getnum number) as

  

  type emp_tab is table of myemp%rowtype;

  emp_rd emp_tab;

  

  emp_cur sys_refcursor;

  --开启

  begin

  --显示用户输入的开始点与要取出的数据量

  dbms_output.put_line(‘开始点:'||startpoint||' 取出数量:'||getnum);

  --打开游标并且给游标赋值(执行分页查询)

  open emp_cur for select * from myemp where rowid in (

  select rd from(

  select rownum rm,rd from(

  select rowid rd from myemp order by empno) where rownum < startpoint + getnum) where rm >= startpoint);

  --开启循环

  loop

  --从游标里面取值bulk collect方式赋给emp_rd

  fetch emp_cur bulk collect into emp_rd limit 2;

  --循环遍历

  for i in 1emp_rd.count loop

  dbms_output.put_line(’员工名:‘||emp_rd(i)。ename);

  end loop;

  exit when emp_cur%notfound;

  --结速循环

  end loop;

  --关闭游标

  close emp_cur;

  --结束

  end;

  执行存储过程

  [sql]

  SQL> exec copylimt(2,4);

  开始点:2 取出数量:4

  员工名:ALLEN

  员工名:WARD

  员工名:JONES

  员工名:MARTIN

  PL/SQL procedure successfully completed

  Executed in 0 seconds


原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/121/12417621.shtml

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10966938/viewspace-1116948/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论