Trigger para seguimiento de actualizaciones

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(
    id_cliente int NOT NULL,
    nombre varchar(64),
    seccion char(16),
    PRIMARY KEY(id_cliente),
    KEY(nombre)
) ENGINE = InnoDB;

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

Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

luauf.com 2012

WordPress