Hallo Leute,
ich hoffe ihr könnte mir helfen. Ich möchte einen Trigger, der reagiert, wenn ein Wert in einer bestimmten Spalte einer Tabelle geändert wurde. Wenn der WErt geändert wurde, soll in eine Andere Tabelle Daten aus der geänderten Tabelle geschrieben werden.
Ich hab bisher das geschrieben, aber da wirft es mit einen Syntax-fehler:
CREATE TRIGGER trig_geraete_allg_change AFTER UPDATE ON Geraete_allgemein
FOR EACH ROW
BEGIN
IF (OLD.benutzer != NEW.benutzer) THEN
INSERT INTO Geraete_allgemein_History( Geraet, Benutzer ) VALUES ( NEW.ID, NEW.Benutzer );
END IF;
END;
wenn ich das IF statement weglasse und in insert to die daten von Hand eingebe, funktioniert es den Trigger anzulegen. Ich hab das Insert Into einzeln getestet (Ohne NEW) und es klappt. Ich hab den Trigger ohne den Inhalt von Beginn getestet. Das Funktioniert auch. Er hat also ein Problem mit meiner OLD und NEW Angabe. Woran kann es also liegen, wenn OLD und NEW nicht funktionieren?
LG
Asakura
ich hoffe ihr könnte mir helfen. Ich möchte einen Trigger, der reagiert, wenn ein Wert in einer bestimmten Spalte einer Tabelle geändert wurde. Wenn der WErt geändert wurde, soll in eine Andere Tabelle Daten aus der geänderten Tabelle geschrieben werden.
Ich hab bisher das geschrieben, aber da wirft es mit einen Syntax-fehler:
CREATE TRIGGER trig_geraete_allg_change AFTER UPDATE ON Geraete_allgemein
FOR EACH ROW
BEGIN
IF (OLD.benutzer != NEW.benutzer) THEN
INSERT INTO Geraete_allgemein_History( Geraet, Benutzer ) VALUES ( NEW.ID, NEW.Benutzer );
END IF;
END;
wenn ich das IF statement weglasse und in insert to die daten von Hand eingebe, funktioniert es den Trigger anzulegen. Ich hab das Insert Into einzeln getestet (Ohne NEW) und es klappt. Ich hab den Trigger ohne den Inhalt von Beginn getestet. Das Funktioniert auch. Er hat also ein Problem mit meiner OLD und NEW Angabe. Woran kann es also liegen, wenn OLD und NEW nicht funktionieren?
LG
Asakura
Comment