En este tema se verá el lenguaje de programación PL/SQL que es altamente utilizado en bases de datos de Oracle y que fue desarrollado por la misma empresa,  está conformado por conceptos que ayudan a la optimización y en la extracción funcional de los datos almacenados en dichas bases de datos, por lo que es importante que un administrador de bases de datos, pueda no solamente conocer su sintaxis, sino adquirir todos los conocimientos posibles para hacer código que sea de valor agregado para las áreas que lo demanden.

El objetivo principal de PL/SQL, es realización la manipulación exitosa de datos y la automatización de los procesos en un base de datos, sin embargo, se requiere de experiencia previa en el uso de bases de datos para poder utilizar todo su potencial y desarrollar aplicaciones y procedimientos eficientes que brinden información sólida para la toma de decisiones.

Explicación

Comandos básicos en PL/SQL

De acuerdo con Peterson (2024), PL/SQL es una extensión del lenguaje SQL que combina la manipulación de datos de SQL con el alto procesamiento del lenguaje de procedimientos para poder crear consultas más completas y eficientes, lo que garantiza un procesamiento más fluido de las declaraciones hechas en SQL y mayor seguridad, portabilidad y solidez de la base de datos. En otras palabras, PL/SQL indica el “qué hacer” a través de SQL y “cómo hacerlo” a través de su formato de procedimientos, aunado a que permite el uso de bucles, condiciones y orientación a objetos.

Hoy en día, las empresas requieren un manejo más eficiente de datos y su toma decisiones debe basarse en información que permita conocer las tendencias de compras de los clientes, sus patrones de comportamiento, así como todos los datos que puedan conocerse de ellos con el fin de lograr una ventaja competitiva frente a otras empresas. Por lo tanto, los comandos PL/SQL cobran relevancia al crear soluciones optimizadas y enfocadas a las necesidades específicas de los departamentos.

De esta manera, se vuelve crucial que los administradores de bases de datos tengan una profunda comprensión de las funciones y cómo ponerlas en práctica para poder garantizar que la información esté lo más completa posible y, de esta manera, optimizar la gestión de procesos que ayuden al éxito de las organizaciones. Las principales características de PL/SQL son las siguientes (Maestríaenlínea, 2024):

  • Su capacidad para manejar grandes volúmenes de datos, ya que brinda un conjunto de estructuras de datos que permiten a los desarrolladores el poder realizar un almacenamiento y manipulación de grandes conjuntos de datos de manera eficiente, algo ideal para las grandes empresas que requieren altos niveles de procesamiento para un análisis y elaboración de informes adecuados.
  • Su capacidad para implementar lógica empresarial compleja porque cuenta con una gran cantidad de estructuras de control de flujo que ayudan a optimizar las lógicas condicionales y reiterativas en las aplicaciones, lo que ayuda en la implementación de reglas de negocio de alta complejidad, apoyando la modularidad del código.
  • PL/SQL se compone por bloques de código que empiezan con la palabra clave BEGIN y terminan con la palabra clave END. En estos bloques, se pueden hacer declaración de variables, definición de cursores, escribir código SQL con lógica de programación y el manejo de excepciones.

A continuación, se presentan los comandos básicos para el uso de PL/SQL:

  1. Begin. Indica el comienzo de un bloque de código ejecutable en PL/SQL.
  2. End. Establece el final del bloque de código ejecutable en PL/SQL.
  3. Declare. Sirve para declarar las variables y los tipos de datos que se utilizarán.
  4. If – Then. Permite la ejecución de una acción siempre y cuando cumpla con una determinada condición.
  5. Case. Permite la evaluación de múltiples condiciones y ejecuta diferentes acciones en función del valor de cada una.
  6. Loop. Con este comando, se pueden crear bucles que permiten la repetición de una acción más de una vez.
  7. While. Crea bucles que se estarán ejecutando siempre y cuando se cumpla con una condición determinada.
  8. For. Crea bucles que se estarán ejecutando por un número determinado de veces.

Creación de un procedimiento

De acuerdo con PLSQL (2021), los procedimientos o funciones PLSQL son dinámicos, ya que admiten parámetros antes de su ejecución. Así, un procedimiento o función puede realizar diferentes tareas dependiendo de los parámetros que le hayan pasado. Usualmente se componen por una sección donde se definen variables y cursores y la otra parte, que es ejecutable, se integra por sentencias SQL y PLSQL. También puede existir otra parte opcional integrada por las excepciones y los errores que pueden ocurrir durante la ejecución.
Los pasos para la ejecución de un procedimiento se presentan a continuación:

  • Realizar verificación del usuario con permisos de ejecución.
  • Verificar si existe validez del procedimiento o la función.
  • Ejecución del procedimiento.

Según PLSQL (2021), se goza de las siguientes ventajas al usar procedimientos en lugar de scripts:

  • Facilidad para gestionar la seguridad.
  • Mejor rendimiento al estar compilados y almacenados en la base de datos.
  • Mejor gestión de la memoria.
  • Mayor productividad e integridad.

Se presenta a continuación la sintaxis de un PROCEDIMIENTO PLSQL:

   CREATE OR REPLACE PROCEDURE [esquema].nombre-procedim
      (nombre-parámetro {IN, OUT, IN OUT} tipo de dato, ..) {IS, AS}
         Declaración de variables;
         Declaración de constantes;
         Declaración de cursores;
         BEGIN
            Cuerpo del subprograma PL/SQL;
            EXCEPTION
            Bloque de excepciones PL/SQL;
         END;

Y la siguiente es la sintaxis de una FUNCIÓN PLSQL:
   CREATE OR REPLACE FUNCTION [esquema].nombre-funcion
      (nombre-parámetro {IN, OUT, IN OUT} tipo-de-dato, ..)
      RETURN tipo-de-dato {IS, AS}
         Declaración de variables;
         Declaración de constantes;
         Declaración de cursores;
         BEGIN
            Cuerpo del subprograma PL/SQL;
            EXCEPTION
            Bloque de excepciones PL/SQL;
         END;

Ahora bien, ya que se está utilizando MySQL Workbench, debes saber que los procedimientos PL/SQL se pueden crear en la sección "Editor SQL". En dicha sección, también se puede llevar a cabo la ejecución del código. Para crear un procedimiento PL/SQL en MySQL Workbench, sigue estos pasos:

  1. Abre MySQL Workbench y conéctate a una base de datos.
  2. Selecciona la opción "Editor SQL" en la barra de herramientas superior (en el espacio de trabajo).
  3. Escribe el código PL/SQL del procedimiento en el editor de texto.
  4. Haz clic en el botón "Ejecutar".
  5. Verifica que el procedimiento se haya creado correctamente en la base de datos; para esto, utiliza la opción "Explorador de Objetos" de MySQL Workbench.

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.

Ejecución de un procedimiento

Para la ejecución de un procedimiento, considera la tabla “empleados” que se ha trabajado en ejercicios anteriores.

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.

Supón que deseas identificar a los empleados que ganan un salario mayor a una cierta cantidad; para ello, podrías usar el siguiente código:

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.

En este ejemplo, se define un procedimiento llamado “obtener_empleados_con_sueldo_mayor_que”, que toma como parámetro de entrada a “sueldo” y, al realizar el procedimiento, se presentará un listado de empleados que cumpla con la especificación de un sueldo mayor que ‘1000’ en este caso, arrojando los resultados en la consola.

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.

Con base en lo anterior, MySQL daría una salida como esta:

Esta pantalla se obtuvo directamente del software que se está explicando en la computadora, para fines educativos.

Este es solamente un ejemplo de los procedimientos que pueden realizarse. Es necesario recordar que la sintaxis puede variar según las necesidades de especificaciones para el manejo de volúmenes de datos, teniendo sintaxis más complejas como la del siguiente ejemplo de procedimiento que permite ver el número de empleados con un salario máximo a un valor predeterminado. Se permite el uso de condicionantes para el manejo de bucles de acuerdo con las condiciones que se cumplan (PLSQL, 2021). Revisa el ejemplo de creación de un procedimiento PL/SQL:
   CREATE OR REPLACE PROCEDURE
      procedimiento1 (a IN NUMBER, b IN OUT NUMBER) IS
         vmax NUMBER;
         BEGIN
            SELECT salario, maximo
            INTO b, vmax
            FROM empleados
            WHERE empleado_id=a;
            IF b < vmax THEN
               b:=b+100;
            END IF;
            EXCEPTION
            WHEN NO_DATA_FOUND THEN
               b:=-1;
               RETURN;
            WHEN OTHERS THEN
               RAISE;
         END;

Cierre

En este tema, revisaste los conceptos básicos de programación de PL/SQL, así como los comandos que utiliza y la sintaxis adecuada para realizar los procedimientos, los cuales serán ejecutados de acuerdo con las necesidades y parámetros que se especifiquen con el fin de ofrecer información más específica a los departamentos que lo soliciten. De esta manera, se busca la automatización de procesos más complejos que permitan el manejo óptimo de grandes volúmenes de información.

Recuerda que el uso de las funciones también ayuda a garantizar consultas más eficientes cuando se acceda a las bases de datos complejas, por lo que un gestor de bases de datos deberá conocer las diferentes opciones que se pueden manejar para brindar los resultados esperados y obtener ventajas competitivas más relevantes.

Checkpoint

Asegúrate de:

  • Comprender los componentes básicos de los PROCEDIMIENTOS y FUNCIONES en PL/SQL.
  • Comprender y aplicar la lógica de la sintaxis de los procedimientos en las consultas que se deseen llevar a cabo.
  • Aplicar la creación y ejecución de procedimientos optimizados para consultas que requieren especificaciones de alto nivel.

Referencias bibliográficas

  • Maestríaenlínea. (2024). Descubriendo el poder de PL/SQL: ¿Qué es y por qué es esencial en el mundo de la programación? Recuperado de https://maestriaenlinea.mx/blog/ingenieria/que-es-pl-sql/
  • Marrón, F. (2024). ¿Qué es PL/SQL? Formulario completo, desarrollador y Architectura de PL/SQL. Recuperado de https://www.guru99.com/es/introduction-pl-sql.html
  • PL/SQL. (2021). Procedimientos y funciones en PLSQL. Recuperado de https://www.plsql.biz/2007/03/procedimientos-y-funciones-en-plsql.html

Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio.

Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.

Lecturas

Videos

Tecmilenio no guarda relación alguna con las marcas mencionadas como ejemplo. Las marcas son propiedad de sus titulares conforme a la legislación aplicable, estas se utilizan con fines académicos y didácticos, por lo que no existen fines de lucro, relación publicitaria o de patrocinio.