Entwickler-Ecke
Datenbanken - Protokollierung von Feldänderungen über Trigger
MisterBum83 - Do 03.12.09 17:40
Titel: Protokollierung von Feldänderungen über Trigger
Hallo zusammen,
ich möchte gerne alle Feldänderungen in allen Tabellen einer Firebird-Datenbank protokollieren. Dies würde über Trigger zu jeder Tabelle ja wunderbar funktionieren.
Jedoch muss zu jeder Änderung ein Benutzername mit protokolliert werden, der die Änderung im Delphi-Programm gemacht hat. Dieser ist für jeden Programmbenutzer unterschiedlich und wird nur bei der Anmeldung am Programm abgefragt. Es handelt sich hierbei nicht um den Benutzer, mit dem die Datenbankanmeldung erfolgt.
Nun meine Frage:
Wie kann ich dem Trigger mitteilen, welchen Benutzer er bei der Speicherung einer Änderung mit eintragen soll?
Oder habt ihr eine andere Idee, wie ich dies für ca. 500 Tabellen und 10000 Felder lösen kann?
Gruß und Dank
MisterBum
elundril - Do 03.12.09 17:43
könntest du nicht ne extratabelle anlegen die den zeitpunkt der änderung und den benutzernamen einträgt. wenn du den timestamp auf ne hunderstelsekunde genau hast könntest du doch die transaktionen halbwegs eindeutig zuordnen, oder? oder du generierst ne transaktionsnummer statt dem timestamp die in beiden tabellen vorkommt.
lg elundril
MisterBum83 - Do 03.12.09 19:13
Funktioniert das denn in Delphi, dass ich eine Transaktionsnummer ermitteln kann und auch in Firebird-Trigger?
Diese könnte ich dann in eine Tabelle mit Benutzer eintragen und im Trigger dann über die Transaktionsnummer nachschauen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!