[TRIGGER] Une erreur que j'arrive pas à résoudre..
Bonjour à tous,
j'ai un soucis pour créer un trigger, on me remonte une erreur sur la boucle pourtant la syntaxe est bonne...
Sur la ligne "get_info: loop"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| DELIMITER $$
CREATE TRIGGER DELETE_EXP
BEFORE DELETE
ON t_exposant_exp
FOR EACH ROW
BEGIN
DECLARE oeuvre_id VARCHAR(100);
DECLARE curseur CURSOR FOR
SELECT oeu.oeu_id FROM t_exposant_exp exp
INNER JOIN t_compte_cpt cpt on cpt.org_id = exp.org_id
LEFT JOIN t_presente_pre pre on pre.exp_id = exp.exp_id
LEFT JOIN t_oeuvre_oeu oeu on oeu.oeu_id = pre.oeu_id
LEFT JOIN t_catalogue_cat cat on cat.exp_id = exp.exp_id
where exp.exp_id = OLD.exp_id;
OPEN curseur;
get_info: LOOP
FETCH curseur INTO oeuvre_id;
IF oeuvre_id NOT IN (oeu_id FROM Oeu_collectives_or_not) then
DELETE FROM `t_oeuvre_oeu` WHERE `oeu_id` = oeuvre_id;
DELETE FROM `t_presente_pre` WHERE `oeu_id`= oeuvre_id;
END IF;
END LOOP get_info;
DELETE FROM `t_catalogue_cat` WHERE `exp_id`=OLD.exp_id;
END;
$$
DELIMITER ; |
Merci d'avance :)