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 tablas | Miguelángel Romero | 28 Apr |
| • Re: Auditoria de tablas | Miguelángel Romero | 28 Apr |