Je m'explique ! J'ai une table qui possede des periodes pour des salles. Je voudrais creer un trigger qui joind les periodes qui se 'touchent' :sweat: automatiquement, apres insertion d'un nouvel enregistrement.
par exemple il y a l'enregistrement :
salle debut fin
1 13/02/06 16/02/06
2 10/02/06 11/02/06
on rentre :
salle : 1 , debut : 16/02/06, fin : 18/02/06
et au lieu que ça donne :
salle debut fin
1 13/02/06 16/02/06
2 10/02/06 11/02/06
1 16/02/06 18/02/06
ça donne :
salle debut fin
1 13/02/06 18/02/06
2 10/02/06 11/02/06
est ce possible ?
J'ai trouvé la premiere partie qui modifie la date :
begin
UPDATE PERIODE
SET date_fin = new.date_fin
WHERE date_fin = new.date_debut
AND id = new.id;
end
Le probleme c'est que ça ne supprime pas le dernier nuplet inséré qui n'a plus de raison d'etre du coup.
J'avais tenté un :
DELETE FROM PERIODE
WHERE id_resa = new.id_resa;
juste apres le premier trigger, mais ça m'effacait tous les enregitrement que je faisais evidement.
Comment faire pour n'executer cette commande que s'il y a eu un update ?
Partager