Ejemplos de copia de paquetes PL/SQL

Estos ejemplos muestran el DDL que se genera al copiar paquetes PL/SQL entre bases de datos heterogéneas.

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 paquetes 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.

Tabla 1. Ejemplos de copia de paquetes PL/SQL de Oracle Database 11g en una base de datos DB2 Versión 9.7 para Linux, UNIX y Windows
Definición de paquete PL/SQL de Oracle Database 11g DDL generado para la base de datos DB2 Versión 9.7
CREATE PACKAGE scott.trans_data AS
-- paquete sin cuerpo
   minimum_balance   CONSTANT REAL := 10.00;
   number_processed   INT;
   insufficient_funds EXCEPTION;
END trans_data;
/
CREATE PACKAGE scott.trans_data AS
-- paquete sin cuerpo
   minimum_balance   CONSTANT REAL := 10.00;
   number_processed   INT;
   insufficient_funds EXCEPTION;
END trans_data;
CREATE OR REPLACE PACKAGE test_pack1 AS
   FUNCTION create_dept
     (department_id NUMBER,
      location_id NUMBER)
      RETURN NUMBER;
END test_pack1;
/

CREATE OR REPLACE PACKAGE BODY test_pack1 AS
   tot_emps NUMBER;
   tot_depts NUMBER;
   FUNCTION create_dept
     (department_id NUMBER,
      location_id NUMBER)
      RETURN NUMBER IS
         new_deptno NUMBER;
      BEGIN
         INSERT INTO nums1 VALUES (1);
         RETURN(new_deptno);
      END create_dept;

BEGIN
   tot_emps := 0;
END test_pack1;
/
CREATE PACKAGE test_pack1 AS
   FUNCTION create_dept
     (department_id NUMBER,
      location_id NUMBER)
      RETURN NUMBER;
END test_pack1;
/

CREATE PACKAGE BODY test_pack1 AS
   tot_emps NUMBER;
   tot_depts NUMBER;
   FUNCTION create_dept
     (department_id NUMBER,
      location_id NUMBER)
      RETURN NUMBER IS
         new_deptno NUMBER;
      BEGIN
         INSERT INTO nums1 VALUES (1);
         RETURN(new_deptno);
      END create_dept;

BEGIN
   tot_emps := 0;
END test_pack1;

La Tabla 2 muestra un ejemplo del DDL que se genera para copiar un paquete 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.

Tabla 2. Ejemplo de copia de un paquete PL/SQL de una base de datos DB2 Versión 9.7 para Linux, UNIX y Windows en Oracle Database 11g
Definición de paquete PL/SQL de la base de datos DB2 Versión 9.7 DDL generado para Oracle Database 11g
CREATE OR REPLACE PACKAGE ARITHMETIC AS
   function add (
      first number,
      second number)
   return number;
END ARITHMETIC;


CREATE OR REPLACE PACKAGE BODY ARITHMETIC AS
  function add(
      first number,
      second number)
   return number AS

  BEGIN
   return first + second;
  END add;
END ARITHMETIC;
CREATE OR REPLACE PACKAGE ARITHMETIC AS
   function add (
      first number,
      second number)
   return number;
END ARITHMETIC;


CREATE OR REPLACE PACKAGE BODY ARITHMETIC AS
  function add(
      first number,
      second number)
   return number AS

  BEGIN
   return first + second;
  END add;
END ARITHMETIC;

Comentarios