您的位置:首页 > 数据库 > Oracle

oracle 游标详解

2016-04-08 21:51 507 查看
游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据。将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据,当前行的某些字段等。

在大多数时候我们在设计程序的时候都遵循下面的步骤:

1、打开游标

2、开始循环

3、从游标中取值

4、检查那一行被返回

5、处理

6、关闭循环

7、关闭游标

DECLARE
--定义记录类型的变量
v_user TMP_T2%rowtype;
--1,利用cursor关键字声明游标
cursor user_cur is
select * from TMP_T2;
BEGIN
--2,打开游标
open user_cur;
--3,利用fetch读取数据
FETCH user_cur
into v_user;
while user_cur%found loop
dbms_output.put_line(v_user.name);
FETCH user_cur
into v_user;
end loop;
--4,释放游标
close user_cur;
END;


用于FOR循环的游标按照正常的声明方式声明,它的优点在于不需要显式的打开、关闭、取数据,测试数据的存在、定义存放数据的变量等等,相比而言代码更简单明了

DECLARE
cursor names_all is
select * from tmp_t2;
BEGIN
for each_item in names_all loop
dbms_output.put_line(each_item.name);
end loop;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: