생성된 DDL은 데이터베이스 오브젝트 붙여넣기 마법사의 DDL 미리보기 페이지에 표시됩니다.
표 1은 Oracle Database 11g 소스 데이터베이스에서 Linux, UNIX 및 Windows용 DB2® 버전 9.7 목표 데이터베이스로 PL/SQL 함수를 복사하는 경우 생성되는 DDL의 예를 보여줍니다.
Oracle Database 11g PL/SQL 함수 정의 | DB2 버전 9.7 데이터베이스에 대해 생성된 DDL |
---|---|
CREATE OR REPLACE FUNCTION func_authid2 RETURN NUMBER AUTHID DEFINED ASx NUMBER(9,2); BEGIN x := 65400; RETURN x; END; / |
CREATE FUNCTION func_authid2 RETURN NUMBER AUTHID DEFINED ASx 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는 Linux, UNIX 및 Windows용 DB2 버전 9.7 소스 데이터베이스에서 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 ASBEGIN RETURN pFName; END F047; |
CREATE FUNCTION F047 (pID INTEGER, pFName CHAR, pLNAME VARCHAR --, pmyLONGVARCHAR LONG VARCHAR ) RETURN CHAR ASBEGIN RETURN pFName; END F047; |