El documento explica qué son los triggers en MySQL. Los triggers son procedimientos que se ejecutan automáticamente cuando ocurre una acción específica, como insertar, actualizar o eliminar datos. Tienen un nombre, se disparan antes o después de un evento como INSERT, UPDATE o DELETE, y se usan para mejorar la administración de datos en la base de datos.
2. Trigger
• Un trigger o disparador en una Base de datos, es un
procedimiento que se ejecuta cuando se cumple
una condición establecida al realizar una
operación. Dependiendo de la base de datos, los
triggers pueden ser de inserción (INSERT),
actualización (UPDATE) o borrado (DELETE). Algunas
bases de datos pueden ejecutar triggers al crear,
borrar o editar usuarios, tablas, bases de datos u
otros objetos.
2016www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
3. Trigger (2)
La estructura básica de un trigger es:
• 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.
2016www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
4. Un trigger tiene
• Un nombre
• Momento en que se desencadenan o disparan:
before (antes)
after (despues)
• Evento que lo activa:
insert (al insertar en la tabla)
update (al actualizar en la tabla)
delete (al eliminar en la tabla)
2016www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
5. Trigger (3)
• Los triggers son usados para mejorar la
administración de la Base de datos, sin necesidad
de contar con que el usuario ejecute sentencias
de SQL determinadas para tal efecto. Además,
pueden generar valores de columnas, pueden
prevenir errores de datos, sincronizar tablas,
modificar valores de una vista, auditorías de
seguridad, etc.
2016www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
6. Tipos de Trigger
Existen dos tipos de disparadores que se clasifican
según la cantidad de ejecuciones a realizar:
• Row Triggers (o disparadores de fila): son aquellos
que se ejecutaran n-veces si se llaman n-veces
desde la tabla asociada al trigger.
• Statement Triggers (o disparadores de secuencia):
son aquellos que sin importar la cantidad de veces
que se cumpla con la condición, su ejecución es
única.
2016www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
7. Sintaxis Básica
DELIMITER $$
CREATE TRIGGER nombre_del_trigger {BEFORE|AFTER}
{UPDATE|INSERT|DELETE} ON nombre_de_la_tabla
FOR EACH ROW
BEGIN
<bloque_de_instrucciones>
END
$$
DELIMITER ;
2016www.slideshare.net/emergar Ing. Emerson E. Garay Gómez
8. NEW y OLD en Triggers
OLD indica el valor antiguo de la columna y NEW el
valor nuevo que pudiese tomar.
Por ejemplo: OLD.existencia ó NEW.existencia
Al usar INSERT solo se puede utilizar NEW, ya que
insertar agrega nuevos valores.
Al usar UPDATE se puede utilizar OLD y NEW, ya que
se modifican valores existentes por nuevos.
Si se usa DELETE se utiliza OLD debido a que se
borraran valores que existen con anterioridad.
2016www.slideshare.net/emergar Ing. Emerson E. Garay Gómez