The generated DDL is shown on the Preview DDL page in the Paste Database Objects wizard.
Table 1 shows examples of the DDL that is generated for copying PL/SQL functions from an Oracle Database 11g source database to a DB2® Version 9.7 for Linux®, UNIX®, and Windows® target database.
Oracle Database 11g PL/SQL function definition | Generated DDL for DB2 Version 9.7 database |
---|---|
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; |
Table 2 shows an example of the DDL that is generated for copying a PL/SQL function from a DB2 Version 9.7 for Linux, UNIX, and Windowssource database to an Oracle Database 11g target database.
DB2 Version 9.7 database PL/SQL function definition | Generated DDL for Oracle Database 11g |
---|---|
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; |