Bonjour ;
Merci pour ta réponse Exia93 ;
1-Pour le fait de stopper l'action qui déclenche le trigger , je pense que ça se fait (au moins pour l'exemple que j'ai réussi à faire, en voici l'exemple et son explication )
Création du trigger :
1 2 3 4 5 6 7 8 9 10 11 12
|
delimiter //
CREATE TRIGGER chk_date_rcrtmnt_date_sortie_update
BEFORE UPDATE ON `fctnre`
FOR EACH ROW
BEGIN
IF (NEW.Dat_Sortie IS NOT NULL AND NEW.Dat_Recrtmt > NEW.Dat_Sortie) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'La date de sortie doit être supérieure à la date de recrutement';
END IF;
END//
delimiter ; |
en fait , ce trigger vérifie si la date de recrutement d'un fonctionnaire est inférieure à sa date de sortie , et effectivement lors de la mise à jour , si la date de sortie saisie est inférieure à la date de recrutement, mysql génère une erreur , affiche le message , et la mise à jour est annulée.je voulais te montrer l'erreur par insertion d'image png , mais ça marche pas !!!!
2-Pour la condition , en faite je l'ai remplacée par
1 2
|
IF (DATEDEB < NEW.DatFin AND NEW.DatDeb < DATEFIN ) |
j'utilise (strictement <) au lieu de (<= ) , je pense que celle là est bonne.
3- Je prendrai en considération tes remarques concernant les guillemets de chaines de caractères et celles concernant la balise CODE
j'essayerai de redéfinir mon trigger en prenant en considération vos remarques et je posterai un feedback
Merci encore une fois .
Partager