Oracle游标
一、游标
游标是指向查询结果的一行记录,初次打开时指向第1行的前面。
第1步 .先声明:
declare
cursor 自定义游标名称 is 查询语句;
第2步.在打开游标
open 自定义游标名称;
第3步.☆然后,访问查询结果中的一行记录,获取这行记录
fetch 自定有表名称 into 变量;
第4步.☆☆☆☆☆最后,关闭
close 自定义游标名称;
1.练习利用游标访问dept当中的一行数据
declare
cursor c_dept is select * from dept;
v_obj dept%rowtype;
begin
open c_dept;
fetch c_dept into v_obj;
dbms_output.put_line(v_obj.deptNo||' # '||v_obj.dname||' # '||v_obj.loc);
close c_dept;
end;
2.利用for循环通过游标访问dept中的每一行记录: for循环用In访问游标时,游标不用手动开启与关闭。in自动开启游标用后自动关闭
declare
cursor c_dept is select * from dept;
v_obj dept%rowtype;
begin
for v_obj in c_dept loop
dbms_output.put_line(v_obj.deptNo||' # '||v_obj.dname||' # '||v_obj.loc);
end loop;
if c_dept%isopen then
close c_dept;
dbms_output.put_line('手动关闭游标');
end if;
end;
/
3.游标的其他属性
游标名%found 获取游标提取到数据了吗?有则返回true,没有返回false
游标名%isopen 获取游标打开状态,如果打开返回true,没打开返回false