Creación de TYPE en ORACLE



Creación de TYPES 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;