项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步
游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据。将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据,当前行的某些字段等。
在大多数时候我们在设计程序的时候都遵循下面的步骤:
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;