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 procedimientos 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 procedimiento PL/SQL de Oracle Database 11g | DDL generado para la base de datos DB2 Versión 9.7 |
---|---|
CREATE OR REPLACE PROCEDURE scott.sample_proc1 AUTHID DEFINER AS BEGIN INSERT INTO detail_proc_insert VALUES(1,'hello'); END; / |
CREATE PROCEDURE scott.sample_proc1 AUTHID DEFINER AS BEGIN 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; -- algún comentario EXCEPTION WHEN deadlock_detected THEN null; -- error de manejo END; / |
CREATE PROCEDURE scott.sample_proc3 IS detected EXCEPTION; PRAGMA EXCEPTION_INIT(detected, -60); BEGIN null; -- algún comentario EXCEPTION WHEN deadlock_detected THEN null; -- error de manejo 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; -- comentario 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; -- comentario 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; |
La Tabla 2 muestra un ejemplo del DDL que se genera para copiar un procedimiento 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 del procedimiento PL/SQL de la base de datos DB2 Versión 9.7 | DDL generado para Oracle Database 11g |
---|---|
CREATE PROCEDURE OM2BSP13 ( v_idno NUMBER, v_fname VARCHAR2, v_dept NUMBER, v_div NUMBER) AS BEGIN 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) AS BEGIN INSERT INTO TBOMSP13 VALUES (v_idno, v_fname, v_dept, v_div); END; |