1 message in com.mysql.lists.mysql-detrigger will nicht funktionieren
FromSent OnAttachments
Charlie Schaubmair08 Aug 2006 01:10 
Subject:trigger will nicht funktionieren
From:Charlie Schaubmair (ks@gmx.at)
Date:08/08/2006 01:10:57 AM
List:com.mysql.lists.mysql-de

Hallo,

ich schreibe gerade einen Trigger mit einem Cursor:

DELIMITER $$;

DROP TRIGGER `myDB`.`createNewDataField`$$

CREATE TRIGGER `myDB`.`createNewDataField` AFTER INSERT on `myDB`.`rel_formsitegroups_spacefields` FOR EACH ROW BEGIN DECLARE NEW_form_id INT; DECLARE NEW_rID INT; DECLARE NEW_shopID INT; DECLARE cnt INT; DECLARE done INT DEFAULT 0; SET NEW_rID = NEW.id; IF NEW.form_site_groups_id > 0 THEN SELECT fs.form_id INTO NEW_form_id FROM rel_formsitegroups_spacefields r LEFT OUTER JOIN tbl_form_site_groups g ON r.form_site_groups_id = g.id LEFT OUTER JOIN tbl_form_sites fs ON g.form_site_id = fs.id WHERE r.id = NEW_rID;

DECLARE mycursor CURSOR FOR SELECT id FROM tbl_datas_head WHERE form_id = NEW_form_id;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1; SELECT COUNT(id) FROM tbl_datas_head WHERE form_id = NEW_form_id; OPEN mycursor; myloop:LOOP FETCH mycursor INTO NEW_shopID; IF done=1 THEN LEAVE myloop; END IF;

INSERT INTO tbl_datas (shopID, rID, fieldValue) VALUES (NEW_shopID, NEW_rID, '');

END LOOP myloop; END IF; END; $$

DELIMITER ;$$

Aber leider bekomme ich immer folgende Fehlermeldung: Error Code : 1064

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 'DECLARE mycursor CURSOR FOR SELECT id FROM tbl_datas_head WHERE form_id = NEW_fo' at line 11

(0 ms taken)

Was mache ich bloß falsch? :-(

thx+lg

Charlie