//显示游标 loop
declare
cursor cur_stu is select* from student;
c_ cur_stu%rowtype;
BEGIN
if cur_stu%isopen then
CLOSE cur_stu;
end if ;
open cur_stu;
LOOP
fetch cur_stu into c_;
exit when cur_stu%NOTFOUND;
dbms_output.put_line(c_.stuname);
end loop;
end;
//显示游标 for
create or replace procedure pro_stu2 as
begin
declare
cursor cur_stu is select stuno ,stuname from student order by stuno;
BEGIN
for stu in cur_stu
loop
dbms_output.put_line(stu.stuname);
end loop;
end;
end pro_stu2;
// 执行 begin pro_stu2(); end ;
//强型游标
declare
type pro_cur is ref cursor return student%rowtype; --返回student 列
p_c pro_cur ; -- 实例化游标
s student%rowtype;
begin
open p_c for select *from student ;
loop
fetch p_c into s;
exit when p_c%notfound;
dbms_output.put_line(p_c%rowcount||' '||s.stuname||' '||s.age);
end loop;
close p_c;
end;
declare
cursor cur_stu is select* from student;
c_ cur_stu%rowtype;
BEGIN
if cur_stu%isopen then
CLOSE cur_stu;
end if ;
open cur_stu;
LOOP
fetch cur_stu into c_;
exit when cur_stu%NOTFOUND;
dbms_output.put_line(c_.stuname);
end loop;
end;
//显示游标 for
create or replace procedure pro_stu2 as
begin
declare
cursor cur_stu is select stuno ,stuname from student order by stuno;
BEGIN
for stu in cur_stu
loop
dbms_output.put_line(stu.stuname);
end loop;
end;
end pro_stu2;
// 执行 begin pro_stu2(); end ;
//强型游标
declare
type pro_cur is ref cursor return student%rowtype; --返回student 列
p_c pro_cur ; -- 实例化游标
s student%rowtype;
begin
open p_c for select *from student ;
loop
fetch p_c into s;
exit when p_c%notfound;
dbms_output.put_line(p_c%rowcount||' '||s.stuname||' '||s.age);
end loop;
close p_c;
end;