Bonjour,
Je ne sais pas si je dois mettre ce post dans SQL ou Oracle mais comme c'est plus un pb d'algo ....
Je suis sous Oracle 8.1.5 et je dois effectuer une verification lors d'un insert. J'utilise donc un trigger on insert.
Voici ma table
RESERVATION(#Centre ,#Client, SemaineDebut, Duree)
Dans cet exemple, toto a réservé dans le centre thonon a partir de la semaine 12 pendant 5 semaines (donc semaines 12 13 14 15 16)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 | Centre | Client | SemaineDebut | Duree | -------------------------------------------------- |Thonon | toto | 12 | 5 |
Il faut que je verrifie que toto ne peux pas faire des réservations qui se chevauchent quelque soit le centre(j'ai schématisé le pb pour que ca soit plus explicite)
pour cela donc je pense faire un trigger
et la je bloque un peu sur l'algo.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TRIGGER CheckResa BEFORE INSERT ON RESERVATION FOR EACH ROW BEGIN .... END
Qu'est ce qui serait le plus efficace ?
car si toto reserve pour la semaine du 15 pour 3semaines ca ne doit pas passer.
donc sur un INSERT INTO RESERVATION((Centre ,Client, SemaineDebut, Duree) VALUES ('Thonon', 'toto', 15, 3)
il faudrait que je récupère les semaines que je veux insérer ( 15; 16; 17 )
et que pour chaque ligne de la table RESERVATION avec TOTO comme client, je récupère les semaines qu'il a réservé (12; 13; 14; 15; 16) avec un curser par exemple et que je compare les deux liste de semaine ? (c'est possible déja ca ?)
est ce que ca n'est pas un peu lourd ?
Voyez vous une autre méthode ?
Merci d'avance si vous avez une ptite idée
Partager