Trigger
Un trigger es código de base de datos que se ejecuta automáticamente cuando ocurren eventos específicos (INSERT/UPDATE/DELETE); se usa para auditoría, cascadas y restricciones.
Propósito
Ejecutar lógica automáticamente ante cambios de datos, sin llamadas explícitas de la aplicación.
Mecanismo
Triggers BEFORE/AFTER × nivel de fila/nivel de sentencia. Cuando el evento se dispara, la función trigger corre automáticamente. Se usa mucho para logs de auditoría, actualizaciones en cascada y comprobaciones complejas de restricciones. Pero la ejecución implícita es difícil de depurar y puede cascadear inesperadamente.
Casos de uso
- Logs de auditoría de cambios de datos
- Actualizaciones y sincronización en cascada
- Comprobaciones complejas de restricciones
- Refresco automático de vistas materializadas
Ejemplos
- entrada
AFTER UPDATE ON users → log changeOutputChange recorded automaticallyAudit trigger
Errores comunes
- Trigger cascades cause recursion and deadlocks
- Limit trigger depth and avoid cycles
Términos relacionados
Stored Procedure
Un procedimiento almacenado es un programa SQL precompilado guardado en la base de datos que puede invocarse a demanda, reduciendo los viajes de red y el riesgo de inyección SQL. GLOSARIO
View
Una vista es una definición de consulta almacenada (una tabla virtual) que no guarda datos y se calcula dinámicamente en tiempo de consulta; se usa para simplificar consultas, aislar la seguridad y abstraer. GLOSARIO
Transaction
Una transacción es un grupo de operaciones ejecutadas como una única unidad lógica que satisface ACID: todo o nada. GLOSARIO