游标是oracle中指向上下文区域中的一个指针,通过游标pl/sql可以控制上下文区。
游标分为显示游标和隐式游标。
游标的使用分为四个步骤:1.创建一个有参或者无参的游标。2.打开游标。3.使用fetch获取游标中的值。4.关闭游标
显示游标的使用,用oracle中scott账户中emp表为例。
declare
v_name emp.ename%type;--创建变量
v_sal emp.sal%type;
cursor c_cursor is select ename,sal from emp where rownum<11;
begin
open c_cursor;
fetch c_cursor into v_name,v_sal;
whlie c_cuesor %found loop
dbms_output.put_line(v_name||'----'||v_sal);
fetch c_cuesor into v_name,v_sal;
end loop;
close c_cursor;
end;
使用fetch c_cursor into v_name,v_sal语句时后面的参数顺序必须和创建游标时查询的字段顺序必须一样。
对于非查询语句,如修改,删除操作,则由oracle系统自动为这些操作设置游标并创建其工作区。这些由oracle系统定义的。对于隐式游标的操作,
如定义,打开,取值及关闭操作,都是系统自动完成的,用户无需处理。例子如下;