以下の例では、異種のデータベース間で PL/SQL パッケージをコピーする際に生成される DDL を示します。
生成された DDL は、「データベース・オブジェクトの貼り付け」ウィザードの「DDL のプレビュー」ページに表示されます。
表 1 では、Oracle Database 11g ソース・データベースから DB2® Version 9.7 for Linux, UNIX,
and Windows ターゲット・データベースへの PL/SQL パッケージのコピーで生成される DDL の例を示します。
表 1. Oracle Database 11g から DB2 Version 9.7 for Linux, UNIX, and Windows データベースへの PL/SQL パッケージのコピーの例Oracle Database 11g の PL/SQL パッケージ定義 |
DB2 バージョン 9.7 データベースで生成される DDL |
CREATE PACKAGE scott.trans_data AS
-- package with no body
minimum_balance CONSTANT REAL := 10.00;
number_processed INT;
insufficient_funds EXCEPTION;
END trans_data;
/
|
CREATE PACKAGE scott.trans_data AS
-- package with no body
minimum_balance CONSTANT REAL := 10.00;
number_processed INT;
insufficient_funds EXCEPTION;
END trans_data;
|
CREATE OR REPLACE PACKAGE test_pack1 AS
FUNCTION create_dept
(department_id NUMBER,
location_id NUMBER)
RETURN NUMBER;
END test_pack1;
/
CREATE OR REPLACE PACKAGE BODY test_pack1 AS
tot_emps NUMBER;
tot_depts NUMBER;
FUNCTION create_dept
(department_id NUMBER,
location_id NUMBER)
RETURN NUMBER IS
new_deptno NUMBER;
BEGIN
INSERT INTO nums1 VALUES (1);
RETURN(new_deptno);
END create_dept;
BEGIN
tot_emps := 0;
END test_pack1;
/
|
CREATE PACKAGE test_pack1 AS
FUNCTION create_dept
(department_id NUMBER,
location_id NUMBER)
RETURN NUMBER;
END test_pack1;
/
CREATE PACKAGE BODY test_pack1 AS
tot_emps NUMBER;
tot_depts NUMBER;
FUNCTION create_dept
(department_id NUMBER,
location_id NUMBER)
RETURN NUMBER IS
new_deptno NUMBER;
BEGIN
INSERT INTO nums1 VALUES (1);
RETURN(new_deptno);
END create_dept;
BEGIN
tot_emps := 0;
END test_pack1;
|
表 2 では、DB2 Version
9.7 for Linux, UNIX, and Windows ソース・データベースから Oracle Database 11g ターゲット・データベースへの PL/SQL パッケージのコピーで生成される DDL の例を示します。
表 2. DB2 Version 9.7 for Linux, UNIX,
and Windows データベースから Oracle Database 11g への PL/SQL パッケージのコピーの例DB2 バージョン 9.7 データベースの PL/SQL パッケージ定義 |
Oracle Database 11g で生成される DDL |
CREATE OR REPLACE PACKAGE ARITHMETIC AS
function add (
first number,
second number)
return number;
END ARITHMETIC;
CREATE OR REPLACE PACKAGE BODY ARITHMETIC AS
function add(
first number,
second number)
return number AS
BEGIN
return first + second;
END add;
END ARITHMETIC;
|
CREATE OR REPLACE PACKAGE ARITHMETIC AS
function add (
first number,
second number)
return number;
END ARITHMETIC;
CREATE OR REPLACE PACKAGE BODY ARITHMETIC AS
function add(
first number,
second number)
return number AS
BEGIN
return first + second;
END add;
END ARITHMETIC;
|