Está en la página 1de 1

DECLARE

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;

También podría gustarte