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 : Sélectionner tout - Visualiser dans une fenêtre à part
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