Oracle PL/SQL基础 游标

2014-11-24 17:25:25 · 作者: · 浏览: 0

在本文,主要讨论显式游标。


一、游标的使用步骤


步骤分四步:定义游标、打开游标、检索游标、关闭游标。


1、定义游标


游标必须在PL/SQL块的声明部分定义。


CURSOR cursor_name IS select_statement ;


定义游标时,并没有生成seletct_statement(SELECT查询)的数据,当打开游标后,才真正生成数据。


2、打开游标


OPEN cursor_name ;


只有打开游标后,才会从数据库中查询出数据,缓存到内存分配的缓冲区里。


3、检索游标


FETCH curso_name INTO variable_list ;


检索游标的前提是,必须打开了游标,只有打开了游标了,缓冲区才会有数据。

游标检索数据,只能下移,不能回退,如:检索了第二条数据又想检索第一条数据,则必须先关闭游标后,再打开游标,才能检索第一条数据。

4、关闭游标

处理完游标检索出来的数据后,必须关闭游标,才能释放它所占用的系统资源,如所占用的内在缓冲区


CLOSE curso_name ;


相关阅读:


二、游标使用例子


declare
-- declare cursor
cursor c_dept is
select * from dept t order by t.deptno;
v_dept c_dept%rowtype;
begin
--open cursor c_dept
open c_dept;

--检索cursor c_dept
loop
fetch c_dept into v_dept;
dbms_output.put_line
('deptno:'||v_dept.deptno||',dname:'||v_dept.dname||',loc:'||v_dept.loc);
exit when c_dept%notfound;
end loop;

--close cursor
close c_dept;
end;