[trigger] opération avant/apres un bloc IF
Bonjour,
Je cherche a executer plusieurs commande dans un trigger dont le code se trouve ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| DELIMITER $$
DROP TRIGGER `db`.`MAJ_dossier`$$
create trigger `db`.`MAJ_dossier` AFTER UPDATE on `db`.`dossiers`
for each row BEGIN
IF OLD.recu IS NULL AND NEW.recu IS NOT NULL AND DATEDIFF(NOW(), NEW.depot)<=5 THEN
INSERT INTO mail VALUES(NEW.id_dossier, '1');
ELSEIF OLD.recu IS NULL AND NEW.recu IS NOT NULL AND DATEDIFF(NOW(), NEW.depot) BETWEEN 6 AND 29 THEN
INSERT INTO mail VALUES(NEW.id_dossier, '2');
ELSEIF OLD.recu IS NULL AND NEW.recu IS NOT NULL AND DATEDIFF(NOW(), NEW.depot) BETWEEN 30 AND 50 THEN
INSERT INTO mail VALUES(NEW.id_dossier, '3');
ELSEIF OLD.recu IS NULL AND NEW.recu IS NOT NULL AND DATEDIFF(NOW(), NEW.depot)>50 THEN
INSERT INTO mail VALUES(NEW.id_dossier, '4');
END IF;
/*UPDATE dossiers SET last_maj=NOW() WHERE id_dossier=NEW.id_dossier;*/
END;
$$
DELIMITER ; |
Si je ne décommente pas l'UPDATE, je peux effectuer seulement des insertions/suppression mais il m'est impossible d'effectuer des UPDATE.