Cursor用来遍历临时表的查询结果。
声明cursor后可用for或者fetch进行遍历。
使用for进行遍历的代码:
declare
cursor c_students is
select * from students;
c_names students%rowtype;
begin
for c_names in c_students loop
dbms_output.put_line(c_names.first_name || '-' || c_names.last_name);
end loop;
end;
使用fetch进行遍历的代码:
declare
cursor c_students is
select * from students;
c_names c_students%rowtype;
begin
open c_students;
loop
fetch c_students
into c_names;
exit when c_students%notfound;
dbms_output.put_line(c_names.first_name || '-' || c_names.last_name);
end loop;
close c_students;
end;