sql >> Base de Datos >  >> RDS >> Oracle

Cómo crear paquetes PL/SQL en Oracle Database

En el tutorial anterior cubrimos todas las teorías necesarias sobre los paquetes PL/SQL en Oracle Database. Allí aprendimos qué son los paquetes, su arquitectura y la sintaxis de creación de los mismos. Ahora que hemos visto todas las teorías necesarias para responder las preguntas de su examen de certificación y entrevista, es hora de dar un paso adelante y hacer un ejemplo que demuestre el proceso de creación de un paquete PL/SQL en Oracle Database. 

¿Cómo crear un paquete?

Para la demostración, voy a crear un paquete muy simple que constará de dos elementos:una función y un procedimiento almacenado. He tratado de mantener este ejemplo lo más simple posible para que el concepto sea fácil de entender.

Como hablamos mientras discutíamos la arquitectura del paquete en el tutorial anterior, el paquete se divide en dos partes, que son

  • Encabezado del paquete y
  • El cuerpo del paquete

Entonces, comenzaremos con la creación del encabezado del paquete primero

Encabezado del paquete

CREATE OR REPLACE PACKAGE pkg_RebellionRider IS
  FUNCTION prnt_strng RETURN VARCHAR2;
  PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2);
END pkg_RebellionRider;

Al observar el código anterior, podemos decir claramente que el paquete contendrá dos elementos del paquete, que son:una función PL/SQL prnt_strng y un procedimiento almacenado proc_superhero.

Cuerpo del paquete

--Package Body
CREATE OR REPLACE PACKAGE BODY pkg_RebellionRider IS
  --Function Implimentation
  FUNCTION prnt_strng RETURN VARCHAR2 IS
    BEGIN
      RETURN 'RebellionRider.com';
    END prnt_strng;
  
  --Procedure Implimentation
   PROCEDURE proc_superhero(f_name VARCHAR2, l_name VARCHAR2) IS
     BEGIN
      INSERT INTO new_superheroes (f_name, l_name) VALUES(f_name, l_name);
     END;
  
END pkg_rrdr;

En el código anterior para el cuerpo del paquete, implementamos los dos elementos del paquete que definimos en el encabezado del paquete.

Byte de información
Tanto el encabezado como el cuerpo del paquete son objetos de base de datos individuales, por lo que debe compilarlos por separado para que su paquete funcione.

¿Cómo acceder a los elementos del paquete?

Tenemos el encabezado y el cuerpo de nuestro paquete creados y compilados con éxito, ¿qué sigue? Como cualquier otro objeto de base de datos, el paquete tiene un propósito único. Al usar un paquete, puede agrupar diferentes objetos de base de datos bajo un nombre y, como los paquetes PL/SQL se denominan bloques de base de datos, pueden almacenarse en la base de datos y usarse más adelante cuando sea necesario.

Entonces, la pregunta que surge aquí es ¿cómo acceder a los elementos del paquete? Para acceder a los elementos definidos e implementados en un paquete, usamos la notación de punto (.). Según el cual, para acceder al elemento del paquete, primero debe escribir el nombre de su paquete seguido del operador punto (.) y luego el nombre del elemento del paquete.

Ejemplo:

Por ejemplo, digamos que desea llamar a la función PL/SQL prnt_strng de nuestro paquete pkg_RebellionRider.

--Package Calling Function
BEGIN
  DBMS_OUTPUT.PUT_LINE (PKG_RebellionRider.PRNT_STRNG);
END;

En el código anterior usando bloque anónimo llamamos a la función prnt_strng del paquete pkg_RebellionRider.

Puedes ver el video tutorial sobre el mismo tema para ver cómo llamar al procedimiento proc_superhero de nuestro paquete. Además, en el mismo vídeo he explicado en detalle todos los códigos anteriores. Espero que disfruten viendo ese video. Si es así, asegúrese de Compartir y Me gusta.

También puede compartir este blog con sus amigos o colegas.

Gracias y que tengas un gran día.