Programación y ejemplos de PHP, jQuery, HTML5, WordPress, MySQL, AMP y htaccess


CREATE TRIGGER MySQL: Detectar eventos en una base de datos

Vamos a repasar la sentencia de MySQL CREATE TRIGGER, su funcionalidad es la de detectar ciertos eventos asociados a una tabla de la base de datos y ejecutar una serie de acciones tras dicha detección. Estas acciones también son conocidas como disparadores.

Estos eventos son:

  • INSERT: Inserción de datos.
  • UPDATE: Actualización de datos.
  • DELETE: Eliminación de datos.

Con DROP TRIGGER eliminamos el disparador.

Sintaxis de la sentencia de MySQL CREATE TRIGGER

Veamos la sintaxis de esta sentencia de MySQL extraída de su web oficial:

Os explico la sintaxis:

  • DEFINER: Especifica el usuario de BBDD con privilegios para desencadenar un TRIGGER. Por defecto es el usuario que crear el TRIGGER.
  • trigger_name: Nombre del TRIGGER/disparador.
  • trigger_time: Especifica cuando se ha de ejecutar el TRIGGER, antes o después del evento detectado.
  • trigger_event: Evento que activa el TRIGGER –> INSERT, UPDATE y DELETE.
  • tbl_name: Nombre de la tabla en la que detectaremos el trigger_event.
  • trigger_order: Una tabla puede tener asociados varios TRIGGER, por defecto la ejecución de cada uno es el orden en el que fuero creados. Para alterar ese orden podemos definirlos con FOLLOWS (depués de nombre trigger) y con PRECEDE (antes de nombre_trigger).
  • trigger_body: Código del TRIGGER.

Ejemplo de la sentancia de MySQL CREATE TRIGGER

Vayamos con una serie de ejemplos de CREATE TRIGGER:

Explico el ejemplo superior, imaginemos que es día 1 de enero y tenemos que actualizar la antigüedad de los empleados en la empresa y que a cada empleado le suben 50 dólares el sueldo mensual.

Primero ejecutamos la sentencia UPDATE para posteriormente se active el TRIGGER creado. En esta ocasión se ejecutará después de la actualización de la antigüedad y por cada fila actualizada se actualizará el sueldo en 50 dólares más.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies