생성된 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 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는 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;
|