El día de hoy tuve que volver a mis origenes y me encargaron la tarea de sacar un reporte en la base de datos, Para eso era necesario crear un PL/SQL con dos cursores anidados (NESTED CURSOR), y bueno me tome la tarea de buscar en Internet y encontré partes que me ayudaron. Comparto con ustedes un script para obtener esa información:
declare v_idNivel1 number; v_nombreNivel1 varchar2(300); v_idNivel2 number; v_nombreNivel2 varchar2(300); /* Primer Cursor */ cursor cur_nivel1 is select id, nombre from tablaNivel1; /* Segundo Cursor */ cursor cur_nivel2 is select id, nombre from tablaNivel2 where idPadre = v_idNivel1; begin /* Primer Cursor */ open cur_nivel1; loop fetch cur_nivel1 into v_idNivel1, v_nombreNivel1; EXIT WHEN cur_nivel1%NOTFOUND; DBMS_OUTPUT.PUT_LINE( v_nombreNivel1 ); /* Segundo Cursor */ open cur_nivel2; loop fetch cur_nivel2 into v_idNivel2, v_nombreNivel2; EXIT WHEN cur_nivel2%NOTFOUND; DBMS_OUTPUT.PUT_LINE( CHR(9) || v_nombreNivel2 ); end loop; close cur_nivel2; end loop; close cur_nivel1; end;
muchisimas gracias, me ha servido bastante tu ejemplo!!!!
gracias me salvaste el semestre XD que nunca entendi como se usaban los cursores
MIL GRACIAS ,LO NESESITABA
Muchas gracias fue muy util
ME CAGASTE LA VIDA CONCHETUMARE!!!!!