El tipo VARRAY es un conjunto ordenado de elementos del mismo tipo, cada elemento tiene asociado un index. Los varray pueden tener longitud variable aunque es necesario establecer una longitud inicial.
1. Creamos el tipo de array :
create or replace type agenda_t as varray(3) of varchar2(20);
2. Un objeto que utilice el array "agenda_t" :
create or replace type homero as object(id_h number(2), mi_agenda agenda_t );
3. Una tabla para almacenar los objetos "homero":
create table homero_tab of homero ;
4. Insertamos un "homero" en la tabla "homero_tab":
insert into homero_tab values(1, agenda_t('3','2','1'));
5. Visualizar los datos almacenados:
select * from homero_tab;
select value(m) from homero_tab m;
IMPORTANTE: con el lenguaje SQL solo se pueden recuperar las listas (arrays) como un bloque, no se puede acceder a los datos de forma individual, para eso es necesario utilizar PL/SQL
Ejemplo de como recorrer la lista anterior :
1. set serveroutput start; /*para poder imprimir por consola*/
2.
declarelista homero;
indice PLS_INTEGER;
begin
select value(v)into lista from homero_tab v;
indice := lista.mi_agenda.first;
while(indice is not null) loop
DBMS_OUTPUT.PUT_LINE('valor :' || lista.mi_agenda(indice)|| ' en indice :'||indice);
indice := lista.mi_agenda.next(indice);
end loop;
end;
No hay comentarios:
Publicar un comentario