Introducción a PL/SQL

PL/SQL (Procedural Language/Structured Query Language) es el lenguaje de programación procedimental de Oracle que extiende las capacidades de SQL al permitir estructuras de control, manejo de excepciones y modularidad a través de procedimientos, funciones, paquetes y disparadores (triggers). PL/SQL se utiliza principalmente para escribir código que se ejecuta directamente en la base de datos, optimizando el rendimiento y reduciendo el tráfico entre aplicaciones y el servidor de bases de datos.

Características Clave de PL/SQL

  1. Integración con SQL: PL/SQL combina perfectamente las sentencias SQL con estructuras de programación.
  2. Modularidad: Facilita la creación de bloques reutilizables de código mediante procedimientos, funciones y paquetes.
  3. Manejo de Excepciones: Permite gestionar errores y situaciones especiales de forma controlada.
  4. Portabilidad: Compatible con cualquier base de datos Oracle.

Bloques PL/SQL

El código en PL/SQL se organiza en bloques, que pueden ser anónimos o almacenados. Cada bloque tiene una estructura básica:

DECLARE
   -- Declaración de variables y constantes
BEGIN
   -- Sentencias ejecutables
EXCEPTION
   -- Manejo de excepciones
END;

Ejemplo de un Bloque Anónimo

DECLARE
   v_nombre VARCHAR2(50);
BEGIN
   SELECT nombre INTO v_nombre
   FROM empleados
   WHERE id_empleado = 1;

   DBMS_OUTPUT.PUT_LINE('Nombre del empleado: ' || v_nombre);
EXCEPTION
   WHEN NO_DATA_FOUND THEN
      DBMS_OUTPUT.PUT_LINE('No se encontró ningún empleado con ese ID.');
END;

Procedimientos y Funciones

Los procedimientos y funciones son bloques PL/SQL almacenados que pueden ser reutilizados. La diferencia principal es que las funciones devuelven un valor, mientras que los procedimientos no.

Creación de un Procedimiento

CREATE OR REPLACE PROCEDURE actualizar_salario (
   p_id_empleado IN NUMBER,
   p_incremento IN NUMBER
) AS
BEGIN
   UPDATE empleados
   SET salario = salario + p_incremento
   WHERE id_empleado = p_id_empleado;

   COMMIT;
END;