Aprende tecnología paso a paso

¿Qué es un Trigger en SQL?

Un trigger, también conocido como disparador, es un objeto de base de datos que ejecuta automáticamente una serie de instrucciones cuando ocurre un evento específico en una tabla o vista.

Los triggers permiten automatizar procesos sin que el usuario tenga que ejecutar manualmente una consulta SQL. Se activan de forma automática cuando se insertan, actualizan o eliminan registros.

¿Para qué sirve un Trigger?

Los triggers se utilizan para automatizar tareas, validar información, registrar cambios y mantener la integridad de los datos dentro de una base de datos.

Gracias a ellos, ciertas acciones pueden ejecutarse automáticamente cada vez que ocurre un evento determinado.

¿Cómo funciona un Trigger?

Un trigger permanece almacenado en la base de datos esperando que ocurra un evento específico.

Cuando dicho evento sucede, SQL ejecuta automáticamente el código definido dentro del trigger.

Los eventos más comunes son:

Ejemplo básico de Trigger

Supongamos que queremos registrar automáticamente cada nuevo cliente que se agregue a la tabla clientes.

CREATE TRIGGER RegistroClientes
ON clientes
AFTER INSERT
AS
BEGIN
    PRINT 'Se ha registrado un nuevo cliente';
END;

Cada vez que se inserte un cliente, el trigger se ejecutará automáticamente.

Ejemplo práctico de auditoría

Una aplicación empresarial puede necesitar guardar un historial de cambios realizados sobre una tabla.

CREATE TRIGGER AuditoriaClientes
ON clientes
AFTER UPDATE
AS
BEGIN
    INSERT INTO auditoria
    (fecha_cambio)
    VALUES
    (GETDATE());
END;

En este ejemplo, cada modificación realizada en la tabla clientes quedará registrada en una tabla de auditoría.

Tipos de Triggers

AFTER Trigger

Se ejecuta después de que la operación se complete correctamente.

Es el tipo más utilizado para auditorías y registros históricos.

INSTEAD OF Trigger

Sustituye la operación original y ejecuta el código definido dentro del trigger.

Se utiliza cuando se necesita controlar completamente la operación antes de que ocurra.

Ventajas de los Triggers

Desventajas de los Triggers

¿Cuándo utilizar un Trigger?

Los triggers son útiles cuando se necesita ejecutar acciones automáticas dentro de la base de datos.

Ejemplo en una empresa

Un banco puede utilizar triggers para registrar automáticamente todas las modificaciones realizadas sobre las cuentas de sus clientes.

Esto permite mantener un historial completo de operaciones para fines de seguridad y auditoría.

Diferencia entre Trigger y Procedimiento Almacenado

Trigger Procedimiento Almacenado
Se ejecuta automáticamente. Debe ejecutarse manualmente.
Depende de un evento. Puede ejecutarse cuando se necesite.
Está asociado a tablas o vistas. Es independiente.

Compatibilidad

Los triggers están disponibles en sistemas gestores de bases de datos como SQL Server, MySQL, PostgreSQL y Oracle Database.

Artículos relacionados

Conclusión

Un trigger es una herramienta que permite automatizar acciones dentro de una base de datos cuando ocurre un evento específico. Gracias a su capacidad para ejecutar procesos de forma automática, los triggers son muy utilizados en auditorías, validaciones y mantenimiento de la integridad de los datos.