SQL - Trigger de Auditoria

 
Vista:

Trigger de Auditoria

Publicado por Juan Carlos (6 intervenciones) el 23/07/2002 01:09:58
Hola

Tengo el siguiente problema. Necesito auditar una tabla.
Tengo la primera tabla Articulos_L4 cuyo campos son:

ARTICULO NUMBER(4), COSTO NUMBER(10,2), UTILIDAD NUMBER (10,2), PRECIO NUMBER (10,2), EXISTENCIA NUMBER(4)

Y tengo la tabla Articulos_Audit la cual debe ser en la que almaceno el Autitoraje de la anterior contine:

ARTICULO NUMBER(4), COSTO NUMBER(10,2), UTILIDAD NUMBER (10,2), PRECIO NUMBER (10,2), EXISTENCIA NUMBER(4), FECHA DATETIME, HORA VARCHAR(8), USUARIO VARCHAR(10), DML (vARCHAR)

En DML agregare una inicial que indique que operación Insert , Update o Delete fue la que correspondio a esa Fila.

No tengo la menor idea de como hacerlo he visto ejemplos pero ninguno me ha servido si alquien me puede ayudar se lo agradeceria enormente. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Trigger de Auditoria

Publicado por Islas, Isaías (5072 intervenciones) el 23/07/2002 01:52:59
Hola

Crear un Trigger para cada una de las funciones de INSERT, DELETE, UPDATE

CREATE TRIGGER trg_INSERT ON Articulos_L4
FOR INSERT

INSERT INTO Articulos_Audit VALUES(INSERTED.ARTICULO, INSERTED.COSTO, INSERTED.UTILIDAD,
INSERTED.PRECIO, INSERTED.EXISTENCIA, GETDATE(), USER_NAME(USER_ID()), 'I')

CREATE TRIGGER trg_DELETE ON Articulos_L4
FOR DELETE

INSERT INTO Articulos_Audit VALUES(DELETED.ARTICULO, DELETED.COSTO, DELETED.UTILIDAD,
DELETED.PRECIO, DELETED.EXISTENCIA, GETDATE(), USER_NAME(USER_ID()), 'D')

CREATE TRIGGER trg_UPDATE ON Articulos_L4
FOR UPDATE

INSERT INTO Articulos_Audit VALUES(UPDATED.ARTICULO, UPDATED.COSTO, UPDATED.UTILIDAD,
UPDATED.PRECIO, UPDATED.EXISTENCIA, GETDATE(), USER_NAME(USER_ID()), 'U')

Espero sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar