|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 10 ![]() |
Bonjour,
aujourd'hui dans mon application je crée un historique automatique en traçant les modification qu'à fait un utilisateur sur une table de ma base de données par l'intermédiaire d'un trigger. Ex. basique: j'ai une table "utilisateur" avec les champs, nom, profession, tel, ...; à chaque update sur cette table je (= mon trigger) compare si OLD.nom!= NEW.nom alors message||E'\n votre nom a été modifié en '||New.nom, ... et écrit toutes les modifications faites par chaque utilisateur dans une table "historique" Jusque là: parfait !! Mais voilà, mon objet (ici mon utilisateur), a des infos stockées dans des tables relationnelles (mettons des amis) qui peuvent être modifiées dans le même écran de saisie: comment puis-je faire pour les tracées aussi dans mon historiques; dois-je abandonner l'idée du trigger ou bien est-ce que je peux m'en sortir car tout est regroupé dans la même transaction ??? |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Autant de déclencheur que de table, PostGreSQL n'ayant pas d'outil de capture du changement global comme le CDC (Change Data Capture) ou le CT (Change Tracking) ou encore le Database Audit de SQL Server.
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 10 ![]() |
Ok, merci de ta réponse.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com