以下の例は、異種のデータベース間でユーザー定義タイプ (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;
|