Procedimientos Almacenados y Triggers en Bases de Datos: Conceptos y Ejemplos Prácticos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 2,78 KB
1. Definición de Procedimiento Almacenado y Ejemplo de Uso
Los procedimientos almacenados son un conjunto de órdenes SQL agrupadas bajo el nombre del procedimiento, de tal forma que, cuando un procedimiento se llama, se ejecutan todas las órdenes SQL de este.
Ejemplo:
CREATE PROCEDURE total_paises()
BEGIN
SELECT COUNT(*)
FROM pais;
END;
2. Definición de Trigger y Ejemplo de Uso
Un trigger es un objeto dentro de una base de datos el cual se asocia con una tabla y se activa cuando ocurre en esta un evento en particular.
Ejemplo:
CREATE TRIGGER trigger_cliente_historico
AFTER INSERT ON cliente
FOR EACH ROW
BEGIN
INSERT INTO cliente_historico(nombre, dni, direccion, fecha_insercion)
VALUES (NEW.nombre, NEW.dni, NEW.direccion, CURDATE());
END;
3. Ejemplos de Asignación y Consulta de Variables de Usuario
Ejemplo de asignación de variables:
USE nba;
SET @peso_max = 200;
SELECT * FROM jugadores WHERE peso > @peso_max;
Para consultar las variables de usuario utilizaremos la siguiente sintaxis:
SELECT @peso_max;
4. Asignación del Valor de un "SELECT" a una Variable de Usuario
Para asignar un valor a una variable, tendremos que usar la siguiente sintaxis:
SELECT COUNT(*) INTO @num_jugadores FROM jugadores;
SELECT @num_jugadores;
5. Ventajas y Desventajas de los Procedimientos Almacenados
Ventajas:
- Mejora del rendimiento: Una vez creados, los procedimientos almacenados se compilan y almacenan en la base de datos, lo que aumenta el rendimiento de las aplicaciones.
- Reusabilidad y transparencia: Los procedimientos almacenados son reutilizables y transparentes para cualquier aplicación.
- Seguridad: El administrador de la base de datos puede otorgar permisos específicos a las aplicaciones que acceden a procedimientos almacenados sin otorgar permisos directos a las tablas subyacentes.
Desventajas:
- Complejidad en la lógica de negocios: Las construcciones de procedimientos almacenados no están diseñadas para desarrollar una lógica de negocios compleja y flexible.
- Dificultad de mantenimiento: El desarrollo y mantenimiento de procedimientos almacenados a menudo requiere habilidades especializadas que no todos los desarrolladores poseen.
- Depuración compleja: Solo algunos sistemas de administración de bases de datos permiten depurar procedimientos almacenados. MySQL, por ejemplo, no ofrece facilidades para esta tarea.