生成された DDL は、「データベース・オブジェクトの貼り付け」ウィザードの 「DDL のプレビュー」ページに表示されます。
表 1 では、Oracle Database 11g ソース・データベースから DB2® Version 9.7 for Linux, UNIX, and Windows ターゲット・データベースへの PL/SQL 関数のコピーで生成される DDL の例を示します。
Oracle Database 11g の PL/SQL 関数定義 | DB2 バージョン 9.7 データベースで生成される DDL |
---|---|
CREATE OR REPLACE FUNCTION func_authid2 RETURN NUMBER AUTHID DEFINED AS x NUMBER(9,2); BEGIN x := 65400; RETURN x; END; / |
CREATE FUNCTION func_authid2 RETURN NUMBER AUTHID DEFINED AS x NUMBER(9,2); BEGIN x := 65400; RETURN x; END func_authid2; |
CREATE OR REPLACE FUNCTION func_cursr ( p_job VARCHAR2 ) RETURN SYS_REFCURSOR IS emp_refcur SYS_REFCURSOR; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job; RETURN emp_refcur; END; / |
CREATE FUNCTION func_cursr ( p_job VARCHAR2 ) RETURN SYS_REFCURSOR IS emp_refcur SYS_REFCURSOR; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job; RETURN emp_refcur; END func_cursr; |
CREATE OR REPLACE FUNCTION func_cursr2 ( p_job VARCHAR2, c SYS_REFCURSOR ) RETURN SYS_REFCURSOR IS emp_refcur SYS_REFCURSOR; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job; RETURN emp_refcur; END; / |
CREATE FUNCTION func_cursr2 ( p_job VARCHAR2, c SYS_REFCURSOR ) RETURN SYS_REFCURSOR IS emp_refcur SYS_REFCURSOR; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job; RETURN emp_refcur; END func_cursr2; |
CREATE OR REPLACE FUNCTION func_inout ( p_job IN VARCHAR2, p_job2 OUT VARCHAR2, p_job3 IN OUT VARCHAR2 ) RETURN SYS_REFCURSOR IS emp_refcur SYS_REFCURSOR; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job; RETURN emp_refcur; END; / |
CREATE FUNCTION func_inout ( p_job IN VARCHAR2, p_job2 OUT VARCHAR2, p_job3 IN OUT VARCHAR2 ) RETURN SYS_REFCURSOR IS emp_refcur SYS_REFCURSOR; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job; RETURN emp_refcur; END func_inout; |
CREATE OR REPLACE FUNCTION func_inout2 ( p_job IN VARCHAR2, p_job2 OUT NOCOPY VARCHAR2, p_job3 IN OUT VARCHAR2 ) RETURN SYS_REFCURSOR IS emp_refcur SYS_REFCURSOR; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job; RETURN emp_refcur; END; / |
CREATE FUNCTION func_inout2 ( p_job IN VARCHAR2, p_job2 OUT NOCOPY VARCHAR2, p_job3 IN OUT VARCHAR2 ) RETURN SYS_REFCURSOR IS emp_refcur SYS_REFCURSOR; BEGIN OPEN emp_refcur FOR SELECT empno, ename FROM emp WHERE job = p_job; RETURN emp_refcur; END func_inout2; |
CREATE FUNCTION sal_ok2 ( salary NUMBER, title VARCHAR2 ) RETURN BOOLEAN IS min_sal NUMBER; max_sal NUMBER; -- AUTHID CURRENT_USER -- PARALLEL_ENABLE BEGIN SELECT losal, hisal INTO min_sal, max_sal FROM sals WHERE job = title; RETURN (salary >= min_sal) AND (salary <= max_sal); END; / |
CREATE FUNCTION sal_ok2 ) salary NUMBER, title VARCHAR2 ) RETURN BOOLEAN IS min_sal NUMBER; max_sal NUMBER; -- AUTHID CURRENT_USER -- PARALLEL_ENABLE BEGIN SELECT losal, hisal INTO min_sal, max_sal FROM sals WHERE job = title; RETURN (salary >= min_sal) AND (salary <= max_sal); END sal_ok2; |
表 2 では、DB2 Version 9.7 for Linux, UNIX, and Windows ソース・データベースから Oracle Database 11g ターゲット・データベースへの PL/SQL 関数のコピーで生成される DDL の例を示します。
DB2 バージョン 9.7 データベースの PL/SQL 関数定義 | Oracle Database 11g で生成される DDL |
---|---|
CREATE FUNCTION F047( pID INTEGER, pFName CHAR, pLNAME VARCHAR -- , pmyLONGVARCHAR LONG VARCHAR ) RETURN CHAR AS BEGIN RETURN pFName; END F047; |
CREATE FUNCTION F047 (pID INTEGER, pFName CHAR, pLNAME VARCHAR --, pmyLONGVARCHAR LONG VARCHAR ) RETURN CHAR AS BEGIN RETURN pFName; END F047; |