首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

oracle存储过程分页处置

2013-03-26 
oracle存储过程分页处理知识点链接1、oracle分页2、游标使用创建存储过程--创建存储过程(startpoint 开始点、

oracle存储过程分页处理

知识点链接

1、oracle分页  2、游标使用

创建存储过程

--创建存储过程(startpoint 开始点、getnum 取出来数量)create or replace procedure copylimit(startpoint number,getnum number) as/*定义table*/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 1..emp_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> exec copylimt(2,4); 开始点:2 取出数量:4员工名:ALLEN员工名:WARD员工名:JONES员工名:MARTIN PL/SQL procedure successfully completed Executed in 0 seconds 


 


我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

热点排行