2010-05-09 7 views
0

J'essaye de développer une piste d'audit/une solution de suivi pour une base de données existante écrite en PLSQL/PHP - mais je ne suis pas encore sûr d'une solution facile à mettre en œuvre suivi des modifications apportées aux champs/valeurs. Par exemple, la partie de suivi des projets de la DB APP suit plus de 200 domaines et idéalement, je voudrais une belle façon de montrer un historique des changements, tels que:Comparer les valeurs pour la piste d'audit

5/10/2010 - Project 435232 updated by John Doe 
Changed Project Name (Old: Test Project; New: Super Test Project) 
Changed Submission Date (Old: 5/10/2010; New: 5/11/2010) 
Changed Description (Old: This is an example!; New: This is a test example) 

Essentiellement pour chaque champ (colonne db), il produirait une nouvelle ligne pour montrer les anciennes/nouvelles valeurs. Jusqu'à présent, mon idée actuelle consiste à enregistrer la version actuelle des données dans une table temporaire, en mettant à jour la table primaire avec les nouvelles données, puis en chargeant chaque ligne dans un tableau et en effectuant une comparaison de tableaux pour déterminer les différences. Cela semble un peu compliqué, et s'il y a une méthode plus facile, j'aimerais le savoir.

Toutes les idées ou suggestions sont très appréciées!

+0

duplication possible de [Aide Auditing dans Oracle] (http://stackoverflow.com/questions/2783298/help-auditing-in-oracle) – APC

Répondre

0

Ce que vous proposez est une implémentation très mauvaise - mais très souvent proposée - pour les raisons que j'ai listées dans this other recent SO thread.

Questions connexes