Creación de TYPE en ORACLE
En muchas ocasiones es necesario la creación de un TYPE para luego utilizarlo
como un atributo en alguna tabla, para la creación de un TYPE se debe utilizar
el siguiente código:
>>create or replace type TELEFONO as object (
>> CodArea NUMBER(10),
>> Numero NUMBER(10)
>>);
>>create or replace type TELEFONOS as VARRAY(16) of TELEFONO;
En el código anterior creamos el TYPE TELEFONO, cuyos atributos son CodArea y
Numero, y creamos un arrecho llamado TELEFONOS al cual le asignamos el TYPE TELEFONO
ahora veremos como agregarlo como atributo a una tabla:
>>create table BAR(
>> IdBar NUMBER(4) NOT NULL,
>> IdLugar NUMBER(4) NOT NULL,
>> Nombre VARCHAR2(50) NOT NULL,
>> Tlf TELEFONOS NOT NULL,
>> Direccion VARCHAR2(100) NOT NULL,
>> constraint PK_BAR primary key (IdBar)
>>);
En el código anterior creamos la tabla "BAR" cuyo atributo Telf. corresponde a un
arreglo del tipo TELEFONO.
Muchos se preguntaran, como insertar una nueva fila en la tabla BAR,
>>INSERT INTO BAR VALUES (IDBAR.NEXTVAL,2,'Bar do Chico',TELEFONOS(TELEFONO(092,3232161)),'Av. Leonardo Malcher, Rua Luiz Antony');
Ahora para eliminar los types creados podemos utilizar:
>>drop type TELEFONOS;
>>drop type TELEFONO;