Trigger o Disparadores



Un trigger o disparador es un script que se usa en lenguaje de programación SQL, en especial en bases de datos como MySQL o PostgreSQL.
Consiste en una serie de reglas predefinidas que se asocian a una tabla. Estas reglas se aplican a la base de datos

 cuando se realizan determinadas operaciones en la tabla, por ejemplo, al añadir, actualizar o eliminar registros.

Dicho de otra manera, el trigger desencadena determinadas acciones de forma automática en las tablas de la base de datos cuando se insertan, modifican y se añaden nuevos datos.
La principal función de los trigger es contribuir a mejorar la gestión de la base de datos.

 Gracias a ellos muchas operaciones se pueden realizar de forma automática, sin necesidad de intervención humana, lo que permite ahorrar mucho tiempo.
Otra de sus funciones es aumentar la seguridad e integridad de la información.

 Esto lo consiguen gracias a la programación de restricciones o requerimientos de verificación que permiten minimizar los errores y sincronizar la información.
Por otra parte, entre sus principales ventajas es que todas estas funciones se pueden realizar desde la propia base de datos, es decir, no es necesario recurrir a lenguajes externos de programación.

Tipos de Trigger

Existen diferentes tipos de disparadores, en función de las ejecuciones que realizan.
  • Disparadores de fila: también llamados row triggers, son aquellos cuya ejecución se realiza a través de llamadas desde una tabla asociada al trigger.
  • Disparadores de secuencia: también llamados statement triggers, son aquellos que se ejecutan solo una vez, independientemente de la cantidad de veces que se cumplan las condiciones para su ejecución.

Cómo crear triggers en SQL

  1. Abrimos el Microsofr SQL Server Management Studio
  2. Vamos a nuestra base de datos y extendemos el árbol hasta la tabla que queremos agregar el trigger.
  3. En la carpeta Triggers damos botón derecho de nuestro mouse y damos clic en “New Trigger.
  4. Se abrirá una pestaña con la estructura básica de un Trigger y lo modificamos de acuerdo a nuestras necesidades. 


¿Cuándo ejecuta su acción un Trigger?

Los triggers pueden ejecutar su acción en diferentes momentos.

  • Antes de ejecutar la sentencia (before statement)
  • Después de ejecutar la sentencia y de comprobar las restricciones y condiciones aplicables (after statement)
  • Antes de modificar la fila de la tabla afectada por la sentencia del trigger, y de comprobar las restricciones y condiciones de ejecución (before row)
  • Después de modificar la fila de la tabla afectada por la sentencia del trigger, y de comprobar las restricciones y condiciones de ejecución (after row)

Estructura Básica


  • Llamada de activación: es la sentencia que permite "disparar" el código a ejecutar.
  • Restricción: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad.
  • Acción a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.

Comentarios