Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Inicializar arrays

Estas en el tema de Inicializar arrays en el foro de Oracle en Foros del Web. Hola de nuevo, me he creado un tipo de variable con dos campos y de ese tipo he creado un array, la cuestion es que ...
  #1 (permalink)  
Antiguo 01/09/2009, 04:35
 
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 14 años, 8 meses
Puntos: 1
Inicializar arrays

Hola de nuevo, me he creado un tipo de variable con dos campos y de ese tipo he creado un array, la cuestion es que en todos los manuales que he visto me dice que tengo que inicializar el array para poder utilizarlo, lo he intentado inicializar todo con "A" pero me imagino que no valdra al tener dos datos la variable que me he creado, el problema es que no se rellenarlo.
Alguien me podria ayudar????


Codigo:
TYPE CODIGO IS RECORD
(
LS_COD_REC VARCHAR2(18),
LS_CER_REC VARCHAR2(4)
);

TYPE CODARRAY1 IS VARRAY(15) OF CODIGO;

LAR_CODIGO1 CODARRAY1 := CODARRAY1('A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A');



Gracias a todos
  #2 (permalink)  
Antiguo 01/09/2009, 08:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Inicializar arrays

Hola

Te doy un ejemplo simple de como cargar la información en un arreglo:

Creas el tipo:

TYPE CODIGO IS RECORD
(
LS_COD_REC VARCHAR2(18),
LS_CER_REC VARCHAR2(4)
);


Creas una tabla basado en ese nuevo tipo:

Type T_Tabla_codigo is Table of CODIGO index by binary_integer;

Creas el vector que registrará la información del arreglo:

V_codigos T_Tabla_codigo;

Abres un cursor que inserte la información del vector:

for ivf in 1..2 loop
V_codigos(ivf).LS_COD_REC := ivf;
V_codigos(ivf).LS_CER_REC := ivf+2;
end loop;


Con esto ya tienes una rutina que registra información en un vector y en cada campo. El ejemplo es simple pero estoy seguro que te sirve para que lo adaptes para lo que necesitas.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:56.