생성된 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 PROCEDURE scott.sample_proc1
AUTHID DEFINER
ASBEGIN
INSERT INTO detail_proc_insert
VALUES(1,'hello');
END;
/
|
CREATE PROCEDURE scott.sample_proc1
AUTHID DEFINER
ASBEGIN
INSERT INTO detail_proc_insert
VALUES(1,'hello');
END scott.sample_proc1;
|
CREATE OR REPLACE PROCEDURE scott.sample_proc2 AUTHID DEFINER AS x NUMBER(9,2); BEGIN x := 65400; END; / |
CREATE PROCEDURE scott.sample_proc2 AUTHID DEFINER AS x NUMBER(9,2); BEGIN x := 65400; END scott.sample_proc2; |
CREATE OR REPLACE PROCEDURE scott.sample_proc3
IS
detected EXCEPTION;
PRAGMA EXCEPTION_INIT(detected, -60);
BEGIN
null; -- some comment
EXCEPTION
WHEN deadlock_detected THEN
null; -- handling error
END;
/
|
CREATE PROCEDURE scott.sample_proc3
IS
detected EXCEPTION;
PRAGMA EXCEPTION_INIT(detected, -60);
BEGIN
null; -- some comment
EXCEPTION
WHEN deadlock_detected THEN
null; -- handling error
END scott.sample_proc3;
|
CREATE OR REPLACE PROCEDURE scott.sample_proc4
IS
num_tables NUMBER;
BEGIN
SELECT COUNT(*)
INTO num_tables
FROM dual;
IF num_tables < 1000 THEN
raise_application_error(-20101,
'Issuing message');
ELSE
NULL; -- comment
END IF;
END;
/
|
CREATE PROCEDURE scott.sample_proc4
IS
num_tables NUMBER;
BEGIN
SELECT COUNT(*)
INTO num_tables
FROM dual;
IF num_tables < 1000 THEN
raise_application_error(-20101, 'Issuing message');
ELSE
NULL; -- comment
END IF;
END scott.sample_proc4;
|
CREATE PROCEDURE scott.sample_proc5
IS
num_tables NUMBER;
dual_rec dual%ROWTYPE;
my_D emp.ename%TYPE;
BEGIN
SELECT COUNT(*) INTO num_tables
FROM dual;
END;
/
|
CREATE PROCEDURE scott.sample_proc5
IS
num_tables NUMBER;
dual_rec dual%ROWTYPE;
my_D emp.ename%TYPE;
BEGIN
SELECT COUNT(*) INTO num_tables
FROM dual;
END scott.sample_proc5;
|
표 2는 Linux, UNIX 및 Windows용 DB2 버전 9.7 소스 데이터베이스에서 Oracle Database 11g 목표 데이터베이스로 PL/SQL 프로시저를 복사하는 경우 생성되는 DDL의 예를 보여줍니다.
| DB2 버전 9.7 데이터베이스 PL/SQL 프로시저 정의 | Oracle Database 11g에 대해 생성된 DDL |
|---|---|
CREATE PROCEDURE OM2BSP13 (
v_idno NUMBER,
v_fname VARCHAR2,
v_dept NUMBER,
v_div NUMBER)
ASBEGIN
INSERT INTO TBOMSP13 VALUES
(v_idno, v_fname, v_dept, v_div);
END;
|
CREATE PROCEDURE OM2BSP13 (
v_idno NUMBER,
v_fname VARCHAR2,
v_dept NUMBER,
v_div NUMBER)
ASBEGIN
INSERT INTO TBOMSP13 VALUES
(v_idno, v_fname, v_dept, v_div);
END;
|