1.直接使用select语句
declare
begin
for rec in (select ename from emp) loop
dbms_output.put_line(rec.ename);
end loop;
end;
2.定义游标
declare
cursor mycursor is select ename from emp;
begin
for rec in mycursor loop
dbms_output.put_line(rec.ename);
end loop;
end;
/
3.定义游标类型
declare
type cursor_type is ref cursor;--定义游标类型
mycursor cursor_type;
v_name emp.ename%type;--定义列类型
begin
open mycursor for select ename from emp;
loop
fetch mycursor into v_name;
exit when mycursor%notfound;
dbms_output.put_line(v_name);
end loop;
close mycursor;
end;
4.动态游标
declare
type cursor_type is ref cursor;--定义游标类型
mycursor cursor_type;
v_emp emp%rowtype;--定义行类型
begin
open mycursor for 'select * from emp';
loop
fetch mycursor into v_emp;
exit when mycursor%notfound;
dbms_output.put_line(v_emp.ename);
end loop;
close mycursor;
end;