joindre des periodes qui coincident dans une table [trigger] - SQL/NoSQL - Programmation
Marsh Posté le 15-02-2006 à 16:38:54
j'ai trouvé comment il fallait faire avec un trigger fter update :
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 je ne vois pas comment supprimer ou annuler le nuplet que je viens d'inserer qui n'est donc plus valable..
j'avais essayé ça :
DELETE FROM PERIODE
WHERE id_resa = new.id_resa;
juste apres dans le trigger after update mais ça m'efface toute mes insertion du coup ... evidement !
comment faire donc pour annuler ou effacer le dernier nuplet SI il y a eu une update de faite ?
Marsh Posté le 15-02-2006 à 18:34:39
DELETE FROM PERIODE
WHERE id_resa = new.id_resa
AND date_debut = new.date_debut;
Mais attention de bien ajouter des conditions, pour ne joindre les dates (avec l'update) et faire l'effacement (delete) uniquement si on a effectivement le droit de joindre le dates (selon tes propres critères).
Marsh Posté le 16-02-2006 à 08:37:02
Je ne sais pas comment ajouter de conditions dan un trigger pour que l'effaceement ne s'effectue uniquement si un update a été fait ?
Marsh Posté le 16-02-2006 à 10:07:54
Code :
|
Marsh Posté le 14-02-2006 à 14:42:34
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' 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 ?