Gateway_man Geschrieben 15. Januar 2011 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
lupo49 Geschrieben 15. Januar 2011 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)
Gateway_man Geschrieben 15. Januar 2011 Autor Geschrieben 15. Januar 2011 Genial, vielen vielen dank . lg Gateway
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden