SQL> create table myTable ( x number, y char(100));
Table created.
SQL>
SQL> create or replace procedure explicit is
2 cursor explicit_cur is select x from myTable order by y desc;
3 dummy number;
4 begin
5 for i in 1 .. 500 loop
6 open explicit_cur;
7 fetch explicit_cur into dummy;
8 close explicit_cur;
9 end loop;
10 end;
11 /
Procedure created.
SQL>
SQL> create or replace procedure implicit is
2 dummy number;
3 begin
4 for i in 1 .. 500 loop
5 select x into dummy from ( select x from myTable order by y desc ) where rownum = 1;
6 end loop;
7 end;
8 /
Procedure created.
SQL>
SQL> drop table myTable;
Table dropped.