log de cambios en tablas

19/11/2003 - 18:11 por Tolo | Informe spam
hola,

me gustaría hacer un log de todos los cambios en mi BD. Para ello me
gustaría montar una tabla como:

Fecha
usuario
tabla
registro
campo
valor antiguo
valor nuevo

y ahí ir añadiento campos.

Claro, pero lo que no quiero es en cada tigger de cada tabla tener que
definir:

if update(campo1)
crea_log(campo1)

if update(campo2)
crea_log(campo2)

...

if update(campon)
crea_log(campon)


alguien tiene por ahí una función más o menos standard para hacer eso de
forma automática (o sea que el sistema recorra todos los campos de la tabla,
compruebe si han dido modificados y genere el log).

gracias

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
19/11/2003 - 18:16 | Informe spam
Tolo!! alguna comparacion vas a tener q hacer si?

has probado hacer en tu insert con select incorporado
q une la tabla inserted y la tabla de donde queres auditar y hacer un
compare de campos

ej:

insert into auditoria (fecha,usuario,precio_unitario)
select getdate(),suser_sname(),tabla.precio_unitario from
tabla inner join inserted on tabla.id = inserted.id (por donde unimos)
where inserted.precio_unitario <> tabla.precio_unitario

y asi con los demas campos?

como lo ves?






Maximiliano Damian Accotto
" Tolo" escribió en el mensaje
news:ewBow$
Mostrar la cita
tabla,
Mostrar la cita
#2 Miguel Egea
19/11/2003 - 19:03 | Informe spam
En portalsql.com hay una colaboración de javier loria llamada bitácora que
puede ayudarte.

Comprueba si te vale.

Saludos
Miguel Egea
"Accotto Maximiliano D." escribió en el
mensaje news:
Mostrar la cita
#3 Tolo
20/11/2003 - 09:15 | Informe spam
hola, bién, pero precisamente lo que quiero evitar son los casos
particulares de cada campo, evitar poner precio_unitario en el select y que
funcione para cualquier cmapo, sin tener que modificar la función de log...


"Accotto Maximiliano D." escribió en el
mensaje news:
Mostrar la cita
#4 Accotto Maximiliano D.
20/11/2003 - 13:21 | Informe spam
pero si tienes una traza vas a tener q tener una tabla no?

no creo q lo q plantias sea viable, si vos queres hacerle una traza a
Articulos armate una tabla para esto (porque los campos de articulos no
seran iguales a los de Clientes por ej)

No te entiendo a donde queres llegar.

Un saludo

Maximiliano Damian Accotto
" Tolo" escribió en el mensaje
news:
Mostrar la cita
que
Mostrar la cita
log...
Mostrar la cita
el
Mostrar la cita
de
Mostrar la cita
#5 Miguel Egea
20/11/2003 - 15:29 | Informe spam
Puedes poner trazas en el servidor que registren esos movimientos, aunque yo
no creo que sea buena idea lo que propones, a pocos datos que tenga tu
sistema esta tabla medirá tanto que será inmanejable.

Saludos
miguel Egea
" Tolo" escribió en el mensaje
news:
Mostrar la cita
que
Mostrar la cita
log...
Mostrar la cita
el
Mostrar la cita
de
Mostrar la cita
Ads by Google
Search Busqueda sugerida