Einzelnen Beitrag anzeigen

Benutzerbild von borncrush
borncrush

Registriert seit: 18. Dez 2005
Ort: Berlin
115 Beiträge
 
Delphi XE7 Enterprise
 
#1

MySQL: Trigger After Update, Parameterübergabe

  Alt 27. Feb 2012, 12:16
Datenbank: MySQL • Version: 5 • Zugriff über: unabhängig davon (ZEOS)
Hallo liebe Gemeinde!

Ich konnte leider keine passende Antwort auf meine Frage finden. Sicherlich ist schon die richtige Begrifflichkeit die erste Hürde (wie so immer beim Suchen).

Ich möchte gerne bei meiner Applikation Feldänderungen innerhalb der DB (MySQL 5, InnoDB) mithilfe eines Triggers "dokumentieren".
Dies stellt grundsätzlich kein Problem dar. Ich werde dies nach folgendem Schema realisieren:

Code:
CREATE TRIGGER trigger_changes
AFTER UPDATE ON tab1_aktuell
FOR EACH ROW
INSERT INTO tab2_historie
( ID, daten 1, daten2, date_modified)
VALUES
(OLD.ID, OLD.daten, OLD.daten2, NOW());
Nun zur Frage: Ich möchte gerne die auslösenden User dazu abspeichern. Ich verwende aber keine unterschiedlichen MySQL-User (dann wäre das Problem schnell gelöst) für den DB-Zugriff. Mein Programm hat eine eigene Benztzerverwaltung. D.h ich muss irgendwie in den Trigger-Insert-Befehl die User-ID mit eintragen.

Nur mal so als Skizze:
Code:
CREATE TRIGGER trigger_changes
AFTER UPDATE ON tab1_aktuell
FOR EACH ROW
INSERT INTO tab2_historie
( ID, daten 1, daten2, date_modified)
VALUES
(OLD.ID, OLD.daten, OLD.daten2, NOW(),[UserID]);
Das Feld [UserID] stellt dann den einzutragenen Wert dar.

Anmerkung: Ich habe leider keine Möglichkeit bzw. möchte ich Nachprogrammierungen verhindern, bei dem ich den User im Update-Befehl übergebe("OLD.UserID").

Hat jemand eine Idee?

Gruß in die Runde
Delphi programming
  Mit Zitat antworten Zitat