TYPE TEMP_ALU_HABIL_type is table of persona%rowtype INDEX BY BINARY_INTEGER;
ARR_TEMP_ALU_HABIL TEMP_ALU_HABIL_type; edad NUMBER; i NUMBER:=1; BEGIN FOR C IN (Select P.COD_PERSONA, P.DOCUMEN_IDENTIDA, P.APELLIDO_PATERN, P.APELLIDO_MATERN, P.NOMBRES, P.FECHA_NACIMIENT from persona p where p.apellido_patern like 'CAHUAPAS%') LOOP --Guardo en un Arreglo todos los Datos Select P.DOCUMEN_IDENTIDA, P.APELLIDO_PATERN, P.APELLIDO_MATERN, P.NOMBRES, P.FECHA_NACIMIENT INTO ARR_TEMP_ALU_HABIL(i).DOCUMEN_IDENTIDA, ARR_TEMP_ALU_HABIL(i).APELLIDO_PATERN, ARR_TEMP_ALU_HABIL(i).APELLIDO_MATERN, ARR_TEMP_ALU_HABIL(i).NOMBRES, ARR_TEMP_ALU_HABIL(i).FECHA_NACIMIENT from persona p where P.COD_PERSONA = C.COD_PERSONA; i := i+1; END LOOP; FOR i IN ARR_TEMP_ALU_HABIL.FIRST..ARR_TEMP_ALU_HABIL.LAST-- Uso los datos de lo s Arreglos LOOP edad := trunc((sysdate- ARR_TEMP_ALU_HABIL(i).FECHA_NACIMIENT)/ 365); DBMS_OUTPUT.put_line(NVL(ARR_TEMP_ALU_HABIL(i).DOCUMEN_IDENTIDA, 'SIN DATOS ')||' '||trim(ARR_TEMP_ALU_HABIL(i).NOMBRES)||' '||NVL(edad, 0 )); END LOOP; END;