ユーザー定義タイプのコピーの例

以下の例は、異種のデータベース間でユーザー定義タイプ (UDT) をコピーする際に生成される DDL を示しています。

生成された DDL は、「データベース・オブジェクトの貼り付け」ウィザードの「DDL のプレビュー」ページに表示されます。

表 1 は、Oracle Database 11g ソース・データベースから DB2® for Linux, UNIX, and Windows, Version 9.7、フィックスパック 1 ターゲット・データベースへの UDT のコピーで生成される DDL の例を示しています。

表 1. Oracle Database 11g から DB2 for Linux, UNIX, and Windows, Version 9.7、フィックスパック 1 データベースへの UDT のコピーの例
Oracle Database 11g の UDT 定義 DB2 Version 9.7、フィックスパック 1 データベースで生成される DDL
CREATE TYPE phone_list AS VARRAY(10) OF NUMBER
CREATE TYPE PHONE_LIST AS NUMBER ARRAY[10];
ストアード・プロシージャー内で VARRAY を使用:
CREATE OR REPLACE PROCEDURE proc1
AS
   phonenum phone_list;
BEGIN
   SELECT col1 bulk
   COLLECT INTO phonenum
   FROM tab1;
END;
/
ストアード・プロシージャー内で VARRAY を使用:
CREATE OR REPLACE PROCEDURE PROC1
AS
   PHONENUM PHONE_LIST;
BEGIN
   SELECT COL1 BULK
   COLLECT INTO PHONENUM
    FROM TAB1;
END;
/
ストアード・プロシージャー内で IN パラメーターとして VARRAY を使用:
CREATE OR REPLCE PROCEDURE proc1(phonenums IN phone_list)
AS
   phonenum phone_list;
BEGIN
   SELECT col1 bulk
   COLLECT INTO phonenum
   FROM tab1;
END;
/
ストアード・プロシージャー内で IN パラメーターとして VARRAY を使用:
CREATE OR REPLACE PROCEDURE PROC1(PHONENUMS IN PHONE_LIST)
AS
   PHONENUM PHONE_LIST;
BEGIN
   SELECT COL1 BULK
   COLLECT INTO PHONENUM
   FROM TAB1;
END;
/
ストアード・プロシージャー内で OUT パラメーターとして VARRAY を使用:
CREATE OR REPLACE PROCEDURE proc1(phonenums OUT phone_list)
AS
BEGIN
   SELECT col1 bulk
   COLLECT INTO phonenum
   FROM tab1;
END;
/
ストアード・プロシージャー内で OUT パラメーターとして VARRAY を使用:
CREATE OR REPLACE PROCEDURE PROC1(PHONENUMS OUT PHONE_LIST)
AS
BEGIN
   SELECT COL1 BULK
   COLLECT INTO PHONENUM
   FROM TAB1;
END;
/

表 2 は、DB2 for Linux, UNIX, and Windows, Version 9.7、フィックスパック 1 ソース・データベースから Oracle Database 11g ターゲット・データベースへの UDT のコピーで生成される DDL の例を示しています。

表 2. DB2 for Linux, UNIX, and Windows, Version 9.7、フィックスパック 1 データベースから Oracle Database 11g への UDT のコピーの例
DB2 Version 9.7、フィックスパック 1 データベースの UDT 定義 Oracle Database 11g で生成される DDL
CREATE TYPE simpleArray AS INTEGER ARRAY[10];
CREATE TYPE SIKPLEARRAY AS VARRAY(10) OF INTEGER;

フィードバック