D'après la doc MySQL ce trigger devrait marcher. Après plusieurs heures de travail là-dessus, je crois avoir tout essayé. Je croyais que c'était un problème de ; ici ou là mais après pas mal d'essais il me paraît maintenant que non Si quelqu'un detecterais une erreur, merci de me le signaler.
CREATE TRIGGER trigger_incident AFTER INSERT ON demandes FOR EACH ROW IF NEW.date_fin = '' THEN UPDATE demandes SET id_statut = 'att' WHERE id_vehicule = NEW.id_vehicule AND date_debut > NEW.date_debut AND id_statut = 'res'; ELSEIF NEW.date_fin <> '' THEN UPDATE demandes SET id_statut = 'att' WHERE id_vehicule = NEW.id_vehicule AND date_debut < NEW.date_fin AND id_statut = 'res'; ENDIF; END; //
Marsh Posté le 23-06-2005 à 12:57:00
D'après la doc MySQL ce trigger devrait marcher. Après plusieurs heures de travail là-dessus, je crois avoir tout essayé. Je croyais que c'était un problème de ; ici ou là mais après pas mal d'essais il me paraît maintenant que non
Si quelqu'un detecterais une erreur, merci de me le signaler.
# =================================================
DELIMITER //
CREATE TRIGGER trigger_incident
AFTER INSERT ON demandes
FOR EACH ROW
IF NEW.date_fin = '' THEN
UPDATE demandes
SET id_statut = 'att'
WHERE id_vehicule = NEW.id_vehicule
AND date_debut > NEW.date_debut
AND id_statut = 'res';
ELSEIF NEW.date_fin <> '' THEN
UPDATE demandes
SET id_statut = 'att'
WHERE id_vehicule = NEW.id_vehicule
AND date_debut < NEW.date_fin
AND id_statut = 'res';
ENDIF;
END; //
DELIMITER ;
# =================================================