Antwort an „der henry“ verfassen

Hallo,

ich suche schon seit Stunden nach meinem Fehler. Ich habe ein Initialisierungsscript für meine Datenbank, das ich um einen Trigger erweitern will.

CREATE DEFINER=`root`@`%` TRIGGER `trigg_change_datapoints` 
    AFTER UPDATE ON `datapoints` 
      FOR EACH ROW
           UPDATE plclist 
           SET `CHANGE` = 1
           WHERE plcname = NEW.plcname   

macht was es soll ... passt.

Nun möchte ich aber nur das "update plclist" ausführen, wenn bestimmte Spalten sich geändert haben.

CREATE DEFINER=`root`@`%` TRIGGER `trigg_change_datapoints` 
AFTER UPDATE ON datapoints
FOR EACH ROW
BEGIN
    IF NOT (NEW.plcvarname <=> OLD.plcvarname)
       OR NOT (NEW.issymbol <=> OLD.issymbol)
    THEN
        UPDATE plclist
        SET `change` = 1
        WHERE plcname = NEW.plcname;
    END IF;
END

Hier kommt eine Fehlermeldung ERROR 1064, aber ich habe doch schon alles mit backticks ausgeführt.

Ich komme hier nicht weiter ....

Danke !!!

akzeptierte Antworten

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen