Triggers

19/02/2004 - 19:46 por Guillermo | Informe spam
Necesito controlar las modificaciones que los usuarios hacen en las tablas
de una base de datos.
Quiero saber,por ejemplo, cuando y quien modifica el valor de un campo, cual
era el anterior y cual el nuevo valor.
Asi con cada accion que se realice.

Según tengo entendido, no hay una opción en SQL que me guarde tanto nivel de
cambios, y alguna vez creo haber leido en este mismo grupo, que una manera
de solucionarlo, podría ser crear una base de datos especialmente para esto.
Luego con Triggers, grabar registros en esta nueva base de datos con todo el
detalle que se necesite.

Estoy en lo correcto???
De ser asi, alguien puede orientarme en como crear estos trigers.
 

Leer las respuestas

#1 ulises
19/02/2004 - 20:04 | Informe spam
Sí estás en lo correcto, ¿como implementarlo? ... en un
trigger de inserción podrías tener lo siguiente :

CREATE TRIGGER trInsertaRegistro ON tabla FOR INSERT
AS
INSERT INTO tablaaud SELECT * FROM inserted

en el caso de eliminación sería algo parecido pero con la
tabla deleted y en el caso de update tendrías que realizar
un JOIN entre la tabla inserted y deleted para obtener el
valor anterior y el valor nuevo.

Saludos,
Ulises

Necesito controlar las modificaciones que los usuarios


hacen en las tablas
de una base de datos.
Quiero saber,por ejemplo, cuando y quien modifica el


valor de un campo, cual
era el anterior y cual el nuevo valor.
Asi con cada accion que se realice.

Según tengo entendido, no hay una opción en SQL que me


guarde tanto nivel de
cambios, y alguna vez creo haber leido en este mismo


grupo, que una manera
de solucionarlo, podría ser crear una base de datos


especialmente para esto.
Luego con Triggers, grabar registros en esta nueva base


de datos con todo el
detalle que se necesite.

Estoy en lo correcto???
De ser asi, alguien puede orientarme en como crear estos


trigers.


.

Preguntas similares