Gateway_man Geschrieben 15. Januar 2011 Teilen Geschrieben 15. Januar 2011 Guten Tag, ich versuche hier unter zuhilfename der mysql-doku die richtige syntax für das erstellen eines AFTER INSERT Triggers zustande zu bringen. Jedoch könnte ich hierbei noch ein zweites paar Augen gebrauchen die mal den ein oder anderen prüfenden Blick drüberwerfen. Ich bin mir jetzt nicht sicher was ihm daran nicht gefällt: CREATE TRIGGER InBuchPl AFTER INSERT ON tbl_buchungen FOR EACH ROW BEGIN Set @evid = NEW.ed_EvDatenID; Set @counter = (Select SUM(ems.tbl_buchungen.bu_GebuchtePlaetze) From ems.tbl_buchungen Where ems.tbl_buchungen.ed_EvDatenID=@evid); Update ems.tbl_eventdaten SET ems.tbl_eventdaten.ed_AktTeilnehmer=@counter; END; Die kommandozeile scheint jede einzelne Zeile auszuführen, sprich zusammenhangslos. Siehe hier: mysql> CREATE TRIGGER InBuchPl AFTER INSERT ON tbl_buchungen -> FOR EACH ROW BEGIN -> Set @evid = NEW.ed_EvDatenID; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 mysql> Set @counter = (Select SUM(ems.tbl_buchungen.bu_GebuchtePlaetze) From ems.tbl_buchungen Where ems.tbl_buchungen.ed_EvDatenID=@evid); Query OK, 0 rows affected (0.00 sec) mysql> Update ems.tbl_eventdaten SET ems.tbl_eventdaten.ed_AktTeilnehmer=@co unter; Query OK, 0 rows affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 1 mysql> END; Wenn jemand einen rat wüsste wäre ich sehr dankbar. lg Gateway Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 15. Januar 2011 Teilen Geschrieben 15. Januar 2011 Das liegt an dem Semikolon, dass als Delimiter genutzt wird. MySQL hat dann zwar ein BEGIN aber kein END im Trigger. Du musst den Delimiter vorher ändern: MySQL :: MySQL 5.1 Referenzhandbuch :: 19.2.1 CREATE PROCEDURE und CREATE FUNCTION (ganz unten auf der Seite) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 15. Januar 2011 Autor Teilen Geschrieben 15. Januar 2011 Genial, vielen vielen dank . lg Gateway Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.