List:Spanish« Previous MessageNext Message »
From:Miguelángel Romero Date:April 28 2009 5:26pm
Subject:Re: Auditoria de tablas
View as plain text  
Buena sugerencia... pero necesito algo mas genérico que sirva para varias
tablas por eso cree un procedimiento almacenado que pueda utilizar para
auditar varias tablas.
 Mi tabla de auditoría contiene los siguiente campos:
Tabla
Campo
ValorAnterior
ValorNuevo
Fecha
Hora
Usuario

El procedimiento almacenado recibe cada uno de estos campos
como parámetros para hacer un insert en la tabla de auditoría.

El asunto es el Disparador, debido a que el sistema que utiliza estas tablas
puede alterar un dato especifico y no todos, por eso mi disparador es por
campo y al ser modificado uno de ellos se crea un registro de auditoría lo
que no me gusta es q tengo q hacer la valuación con cada campo para ver si
fue alterado y hacer un call al procedimiento almacenado.

Lo que no quiero es programar por cada campo y hacer algo mas genérico q me
funcione para todos los campos de la tabla, además de si en un futuro se
adiciona un campo nuevo no tengo q modificar el disparador porque lo tomaría
en cuenta estomáticamente.--

Mig



2009/4/28 Ezequiel Suarez <esuarez@stripped>

> yo arme algo parecido para cada abm de datos cree un tigger que guarda los
> datos anterior al cambio por si hay que hacer un rollback, pero no utilice
> procedimientos almacenados.
>
>
>
> algo asi:
>
> y para cada operacion (update, insert, delete)
>
>
>
> CREATE TRIGGER audit_update AFTER UPDATE ON enlaces FOR EACH ROW INSERT
> INTO auditoria_ENL(Sucursal, Referencia, Proveedor, Fecha, Usuario, Tipo,
> Estado)VALUES(OLD.Sucursal, OLD.Referencia, OLD.Proveedor, NOW(),
> CURRENT_USER(), "update", OLD.Estado_Enlace);
>
>
>
>
> ----- Mensaje original -----
> De: "Miguelángel Romero" <mglnglr@stripped>
> Para: mysql-es@stripped
> Enviados: Martes, 28 de Abril 2009 13:30:15 GMT -03:00 Argentina
> Asunto: Auditoria de tablas
>
>
> Hola listeros...
> Algunos tiene documentación o un código donde a través de
> disparadores y
> procedimientos almacenados me genere una bitácora de cambio de datos de
> todos los campos de una tabla en particular?
>
> Estoy trabajando en ello e hice un procedimiento almacenado donde
> a través de parámetros paso los datos que voy a guardar en la
> bitácora, y
> al
> momento de llegar al disparador quisiera algo genérico donde me tome en
> cuenta cada uno de los campos de la tabla asociada.
>
> Esta ultima parte es la que no se hacer sin irme a pie por cada campo,
> alguna ayuda o sugerencia??
>
> --
> Mig
>
>
> --
> Ezequiel Suarez
>
>

Thread
Auditoria de tablasMiguelángel Romero28 Apr
Re: Auditoria de tablasMiguelángel Romero28 Apr