domingo, 16 de noviembre de 2014

SQL avanzado en MySQL y PHPMyAdmin - 5 de 5



d. Trigger

Un trigger es un objeto asociado a una tabla que se activa cuando se producen determinados eventos. Por ejemplo se puede comprobar el contenido de una tabla antes de realizar una inserción o eliminación.

Solamente se puede activar antes (before) o después (after) de un update, insert o delete.

Por ejemplo, para crear un trigger que se llama COMPRUEBA_EDAD, que establece la edad máxima en 100 en el supuesto de que fuera superior a 100, si se crea una nueva persona:


En lenguaje SQL:

CREATE TRIGGER `COMPROBAR_EDAD` BEFORE INSERT ON `Persona`
FOR EACH ROW BEGIN
IF NEW.edad > 100 THEN
SET NEW.edad = 100;
END IF;
END

Si inserta una persona con una edad superior a 100, se le asignará 100 a su edad.

Siempre es posible modificar la edad y asignar un valor superior a 100 porque el trigger está asociado al evento INSERT y no al evento UPDATE. Además no es posible tener dos triggers asociados al mismo evento y la misma acción sobre la misma tabla.

Encontrará más información en el enlace: 




Espero haber ayudado en algo. Hasta la próxima oportunidad!










No hay comentarios:

Publicar un comentario en la entrada