Sí, una forma sencilla de hacerlo es usar un bucle. Pero estás recorriendo nada (nunca busque nada en esas variables) y nunca salga del ciclo. Además, ¿qué estás cometiendo exactamente?
Así es como podrías haberlo hecho (basado en el DEPT
de Scott tabla que es similar a la tuya):
SQL> set serveroutput on
SQL> begin
2 for cur_r in (select deptno, dname, loc from dept) loop
3 dbms_output.put_line(cur_r.deptno ||' '|| cur_r.dname ||' '|| cur_r.loc);
4 end loop;
5 end;
6 /
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
PL/SQL procedure successfully completed.
SQL>