Ver Mensaje Individual
  #7  
Antiguo 22-10-2008
CLUSTERBIT CLUSTERBIT is offline
Miembro
 
Registrado: oct 2008
Posts: 14
Reputación: 0
CLUSTERBIT Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
Ummm, no veo que funcione adecuadamente ese Trigger.
Por empezar supuse que te darías cuenta que necesitas de una tabla más.

Te explico:
Según tu explicación, tu tabla Auditoria tiene los siguientes campos:
tabla
campo
valor anterior
valor actual
etc...

Esto me da la pauta de que por cada campo de interés por auditar se debe insertar un registro en dicha tabla.
Ahora bien, la pregunta aquí es ¿Y que sucede si alguien hace modificaciones a más de un campo de alguna tabla a la que se le lleve el proceso de auditoria? Mejor dicho, la pregunta sería ¿De qué manera identificamos cuales son los cambios que pertenecen a un mismo registro, a una misma acción?

Es necesario contar con un esquema maestro-detalle para conseguir esto. Por ejemplo: una tabla maestra llamada Auditoria que contenga los campos:
IDAuditoria -> PK
Fecha/Hora
Nombre_tabla
IDregistro
etc

Y una tabla Auditoria_detalle, cuyos campos serían en este caso:
IDAuditoria_detalle -> PK
AuditoriaID -> FK
campo
ValorActual
valorAnterior

¿Porqué este esquema? Porque de esta manera conseguimos identificar todos los cambios realizados para un mismo registro de alguna tabla.

De este modo, ante el disparo de algún trigger, realizamos un INSERT dentro de éste en las tabla de detalles, por cada campo que necesitamos auditar.

Tal vez este hilo te sea de ayuda para comprender mejor el panorama.

Saludos,
Delphius gracias por el hilo y fuiste certero eso es lo que realmente tengo que hacer
pero confiezo que no tengo mucho conocimiento de bases de datos (no hago diferencia de mysql y sql ya que la sintaxis es similar)

y esta es la tabla completa

ts_auditoria

AUDI_ID
AUDI_IP
AUDI_FECHA
AUDI_TABLA
AUDI_CAMPO
AUDI_VALOR_ANTERIOR
AUDI_VALOR_ACTUAL

ahi esta completa en cuanto al trigger quizas con un pequeño ej me podria orientar mejor

saludos y gracias por el interes en ayudar
Responder Con Cita