A continuación veremos un pequeño ejemplo de trigger en MySQL, que guarda los datos de una tabla en otra, cada vez que estos se modifican. La segunda tabla puede servir para el seguimiento y auditoría de la modificaciones realizadas en la tabla principal.
CREATE TABLE clientes_auditoria (
id_cliente int NOT NULL,
nombre varchar(64),
seccion char(16),
usuario_mod char(32) NOT NULL,
int fecha_mod NOT NULL,
PRIMARY KEY(id_cliente,fecha_modificacion)
) ENGINE = InnoDB;
DELIMITER $$
CREATE TRIGGER trigger_clientes_auditoria AFTER UPDATE ON clientes
FOR EACH ROW
INSERT INTO clientes_auditoria (id_cliente, nombre, seccion, usuario_mod, fecha_mod )
VALUES (OLD.id_cliente, OLD.nombre, OLD.seccion, CURRENT_USER(), UNIX_TIMESTAMP() );
DELIMITER ;
Vía: Gulsin 2.0rg
Comentarios: