Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --active l'affichage pour dbms
- SET SERVEROUTPUT ON
- /
- SELECT * FROM vlille_Client;
- SELECT * FROM vlille_Abonnement;
- -- la table trajet est vide pour le moment
- -- toute les stations sont pleines (velos)
- /
- DECLARE
- BEGIN
- -- TEST POUR ENLEVER DES VELOS
- -- le client n°1 est abonné mais n'a pas payé ça caution , il ne peut normalement pas prendre de velo
- -- essayons de prendre un velo à la sation n°6
- paq_vlille.enlever_velo(6, 1);
- -- le client n°2 est abonné mais n'a pas payé ça caution , il peut donc prendre un velo
- -- essayons de lui faire prendre un velo à la sation n°9
- paq_vlille.enlever_velo(9,2);
- -- faisons lui prendre un velo à la station n°12
- paq_vlille.enlever_velo(12,2);
- -- le client n°3 n'a pas payé sa caution, on va faire en sorte que si:
- UPDATE vlille_Client SET cautionPayee = 0 WHERE vlille_Client.id_client = 3;
- -- et on va lui faire prendre un velo dans une station on il n'y a plus de velo
- -- vidons la station n°14:
- UPDATE vlille_Station SET nbVelosPresents = 0 WHERE id_station = 14;
- -- et faisont lui prendre un velo dans cette station:
- paq_vlille.enlever_velo(14,3);
- -- et maintenant sur une station ou il y a des velos, station n°15
- paq_vlille.enlever_velo(15,3);
- -- le client n°4 n'est pas abonné
- -- essayons tout de même de faire prendre un velo au client n°4 à la station 19
- paq_vlille.enlever_velo(19,4);
- -- pause de 5 secondes avant de commencer à ranger les velos pour éviter les
- -- erreur de sysdate
- DBMS_LOCK.sleep(1);
- END;
- /
- -- TEST POUR RANGER DES VELOS
- DECLARE
- BEGIN
- -- Les stations étant pleine sauf la 9(client n°2 a pris un velo) et la 14(on l'a vidé)
- -- Le client n°1 n'a pas réussie à prendre un velo mais on essaye de le ranger
- -- à la station n°4
- paq_vlille.ranger_velo(4,1);
- -- et la ou il y a de la place:
- paq_vlille.ranger_velo(9,1);
- -- On range le velo du client n°2 à la station n°7 (plus de place)
- paq_vlille.ranger_velo(7,2);
- -- Testons sur la station n°14:
- paq_vlille.ranger_velo(14,2);
- -- On range le velo du client n°3 à la station n°9 (plus de place)
- paq_vlille.ranger_velo(9,3);
- --TEST POUR LE CALCUL DES COUPS ET DU DEPASSEMENT DE JOURNEE
- -- cette fois si il repose son velo moins de 30 mintutes plus tard
- INSERT INTO vlille_Trajet(id_client,id_station_deb,debut) VALUES(2,7,SYSDATE()-(29/60/24));
- paq_vlille.ranger_velo(7,2);
- -- puis au bout de 3 heures (donc 5 demis heures payantes)
- INSERT INTO vlille_Trajet(id_client,id_station_deb,debut) VALUES(2,7,SYSDATE()-(3/24));
- paq_vlille.ranger_velo(7,2);
- END;
- /
- DECLARE
- BEGIN
- -- Le clients 2 a un velo depuis plus d'un jour(2 jours en l'occurence), on va donc l'insérer dans la
- -- table trajet ( le trigger fera les modifs nécessaire pour le nb_trajet et pour le
- -- nbVelosPresents)
- INSERT INTO vlille_Trajet(id_client,id_station_deb,debut) VALUES(2,7,SYSDATE()-2);
- -- puis on lui fait ranger son velo au même endroit
- paq_vlille.ranger_velo(7,2);
- END;
- /
- SELECT * FROM vlille_Trajet;
- -- On pourra remarquer sur cette "affichage que les nombres de velos on bien était mise à jour
- SELECT * FROM vlille_Station;
Add Comment
Please, Sign In to add comment