Ejemplos de copia de tipos definidos por el usuario

Estos ejemplos muestran el DDL que se genera al copiar tipos definidos por el usuario (UDT) entre bases de datos heterogéneas.

El DDL generado se muestra en la página Vista previa de DDL del asistente Pegar objetos de base de datos.

La Tabla 1 muestra ejemplos del DDL que se genera para copiar UDT de una base de datos de origen Oracle Database 11g en una base de datos de destino DB2 para Linux, UNIX y Windows Versión 9.7, Fix Pack 1.

Tabla 1. Ejemplos de copia de UDT de Oracle Database 11g en una base de datos DB2 para Linux, UNIX y Windows Versión 9.7, Fix Pack 1
Definición de UDT de Oracle Database 11g DDL generado para la base de datos DB2 Versión 9.7, Fix Pack 1
CREATE TYPE phone_list AS VARRAY(10) OF NUMBER
CREATE TYPE PHONE_LIST AS NUMBER ARRAY[10];
Utilización de VARRAYS en un procedimiento almacenado:
CREATE OR REPLACE PROCEDURE proc1
AS
   phonenum phone_list;
BEGIN
   SELECT col1 bulk
   COLLECT INTO phonenum
   FROM tab1;
END;
/
Utilización de VARRAYS en un procedimiento almacenado:
CREATE OR REPLACE PROCEDURE PROC1
AS
   PHONENUM PHONE_LIST;
BEGIN
   SELECT COL1 BULK
   COLLECT INTO PHONENUM
    FROM TAB1;
END;
/
Utilización de VARRAYS como parámetros IN en un procedimiento almacenado:
CREATE OR REPLCE PROCEDURE proc1(phonenums IN phone_list)
AS
   phonenum phone_list;
BEGIN
   SELECT col1 bulk
   COLLECT INTO phonenum
   FROM tab1;
END;
/
Utilización de VARRAYS como parámetros IN en un procedimiento almacenado:
CREATE OR REPLACE PROCEDURE PROC1(PHONENUMS IN PHONE_LIST)
AS
   PHONENUM PHONE_LIST;
BEGIN
   SELECT COL1 BULK
   COLLECT INTO PHONENUM
   FROM TAB1;
END;
/
Utilización de VARRAYS como parámetros OUT en un procedimiento almacenado:
CREATE OR REPLACE PROCEDURE proc1(phonenums OUT phone_list)
AS
BEGIN
   SELECT col1 bulk
   COLLECT INTO phonenum
   FROM tab1;
END;
/
Utilización de VARRAYS como parámetros OUT en un procedimiento almacenado:
CREATE OR REPLACE PROCEDURE PROC1(PHONENUMS OUT PHONE_LIST)
AS
BEGIN
   SELECT COL1 BULK
   COLLECT INTO PHONENUM
   FROM TAB1;
END;
/

La Tabla 2 muestra un ejemplo del DDL que se genera para copiar un UDT de una base de datos de origen DB2 para Linux, UNIX y Windows Versión 9.7, Fix Pack 1, en una base de datos de destino Oracle Database 11g.

Tabla 2. Ejemplo de copia de un UDT de una base de datos DB2 para Linux, UNIX y Windows Versión 9.7, Fix Pack 1, en Oracle Database 11g
Definición de UDT de la base de datos DB2 Versión 9.7, Fix Pack 1 DDL generado para Oracle Database 11g
CREATE TYPE simpleArray AS INTEGER ARRAY[10];
CREATE TYPE SIKPLEARRAY AS VARRAY(10) OF INTEGER;

Comentarios