Sobes.tech
Junior

¿Qué es un disparador?

sobes.tech AI

Respuesta de la IA

Un disparador es un procedimiento almacenado especial en la base de datos, que se ejecuta automáticamente cuando ocurre un evento determinado.

Los eventos que activan los disparadores generalmente incluyen:

  • INSERT: agregar nuevas filas a la tabla.
  • UPDATE: modificar filas existentes en la tabla.
  • DELETE: eliminar filas de la tabla.

Los disparadores pueden activarse en diferentes momentos respecto al evento:

  • BEFORE: antes de que se ejecute el evento.
  • AFTER: después de que se ejecute el evento.
  • INSTEAD OF: en lugar de ejecutar el evento (comúnmente usado con vistas).

Ejemplos de uso de disparadores:

  1. Mantener la integridad de los datos: Verificación o modificación automática de datos al insertar/actualizar.
  2. Auditoría: Registrar información sobre cambios en los datos en una tabla de logs.
  3. Sincronización de datos: Actualización automática de tablas relacionadas.
  4. Ejecutar reglas de negocio complejas: Iniciar acciones adicionales bajo ciertas condiciones.

Los disparadores se definen a nivel de tabla y pueden hacer referencia a los valores antiguos y nuevos de la fila que fue modificada.

-- Ejemplo de sintaxis (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
    INSERT INTO audit (user_id, action, timestamp)
    VALUES (NEW.id, 'insert', NOW());
END;

Es importante usar los disparadores con precaución, ya que pueden complicar la depuración y afectar el rendimiento de la base de datos.