El DDL generado se muestra en la página Vista previa de DDL del asistente Pegar objetos de base de datos.
La Tabla 1 muestra ejemplos del DDL que se genera para copiar funciones PL/SQL de una base de datos de origen Oracle Database 11g en una base de datos de destino DB2 Versión 9.7 para Linux®, UNIX® y Windows®.
Definición de función PL/SQL de Oracle Database 11g | DDL generado para la base de datos DB2 Versión 9.7 |
---|---|
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; |
La Tabla 2 muestra un ejemplo del DDL que se genera para copiar una función PL/SQL de una base de datos de origen DB2 Versión 9.7 para Linux, UNIX y Windows en una base de datos de destino Oracle Database 11g.
Definición de función PL/SQL de la base de datos DB2 Versión 9.7 | DDL generado para 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; |