MYSQL
TRIGGERS EN MYSQL
• Es un objeto de base de datos que esta asociado a una tabla, y se puede ejecutar antes o
después de los eventos de INSERT, UPDATE y DELETE.
• Se ejecuta automáticamente.
• Permite automatizar acciones como:
• Validación
• Control de operaciones
• Registro en bitácoras
• Otros.
CREACIONT DE TRIGGERS EN MYSQL
INICIO DE BLOQUE DE CODIGO
NOMBRE TRIGGER TABLA ASOCIADA
DELIMITER II
CREATE TRIGGER nombre_trigger AFTER INSERT ON nombre_tabla FOR EACH ROW
BEGIN MOMENTO DE LA ACTIVACION
//Instrucciones SQL CUERPO DEL TRIGGER
END;
FIN BLOQUE DE CODIGO
//
CONCEPTOS USADOS EN TRIGGERS TRIGGER
• BEFORE. Indica que el trigger se ejecutara antes de que el objeto NEW se inserte en la
tabla
• AFTER. Indica que el trigger se ejecutará después de que el objeto OLD se elimine de la
tabla
• NEW. Hace referencia al nuevo objeto que se insertaran en la tabla, esta asociado a los
eventos de INSERT y UPDATE
• OLD. Hace referencia al antiguo objeto que se modificaran o se eliminarán, esta asociado
a los eventos de UPDATE y DELETE
BITACORAS
• La función principal de una bitácora es guardar el historial de las acciones realizadas por un
usuario en la base de datos registrando la operación, nombre del usuario, fecha y la
modificación de datos como mínimo
• Su estructura puede ser simple como una tabla o toda una estructura de base de datos
• En diseños muy estructurados, puede permitir regenerar una base de datos con los datos que
tiene
• Tiene un volumen de información muy considerable por lo que se recomienda tener la
bitácora en otra base de datos
• Se puede administrar una bitácora desde los triggers, funciones y aplicaciones web externas
(web o de escritorio)
ESTRUCTURA MÍNIMA DE UNA BITACORA
ID usuario Datos Datos Fecha
antiguos nuevos
Llave Que usuario Datos que Datos Fecha en la
primaria hizo la modifico o nuevos que cual se hizo
modificación elimino inserto la
modificación
ESTRUCTURA ELABORADA
evento_bitacoras
cod_eve Serial <M>
cod_bit Serial
eve_operacion Variable characters (20)
bitacoras RELACION eve_antiguo Text
cod_bit Serial <M> eve_nuevo Text
eve_tabla Variable characters (25)
bit_inicio Timestamp
bit_fin Timestamp eve_archivos Variable characters (50)
eve_sistema integer
bit_usuario Variable characters (50)
bit_id integer eve_cod_objeto Integer
bit_host Variable characters (100)