2020-2021 BD PLS/SQL
TP1 : Location de véhicules
Contexte : L’objectif est de gérer les locations d’une agence de locations de véhicules. Les tables utilisées sont les suivantes :
Tclient2021 :
— Numéro client
— Nom
— Ville
— Code postal Tcategorie2021 :
— Numéro categorie
— Libellé
Tremplacement2021 :
— Numéro catégorie
— Numéro catégorie équivalente Tvehicule2021 :
— Numéro véhicule
— Immatriculation
— Modèle
— Couleur
— Dernier kilométrage Tlocation2021 :
— Numéro client
— Numéro véhicule
— Date début location
— Date retour prévue
— Kilométrage départ Tlocatretour2021 :
— Numéro client
— Numéro véhicule
— Date début location
— Date retour prévue
— Kilométrage départ
— Date retour effectif
— Kilométrage fin
Vous trouverez sur le site suivant https://sancy.iut-clermont.uca.fr/~lafourcade/BDP3/ et sur l’ENT le script de création et de remplissage des tables (des occurrences pourront être ajoutées si nécessaire) locationvehic2021.sqlVos procédures SQL devront avoir la structure suivante :
drop table tligne ;
create table Tligne (ligne varchar2(200)) ; Déclaration des variables hôtes
Saisie des paramètres Bloc PL/SQL
Select * from Tligne ;
2020-2021 BD PLS/SQL
Exercice 1 (Sans utiliser la clause exception). A partir d’un numéro de véhicule saisi au clavier, afficher l’immatriculation et le modèle correspondant ainsi que le nom du client si c’est un véhicule en cours de location.
Cas d’erreur : « n° de véhicule inconnu ».
Exercice 2 (Avec la clause exception). Afficher le numéro du véhicule loué par un client dont le numéro sera saisi.
Cas d’erreur :
— « aucune location pour ce client »
— « plusieurs locations en cours pour ce client » (cf un prochain TP pour traiter ce problème) Exercice 3 (Mise à jour : enregistrement d’un retour de location). Il est demander d’enregistrer le retour d’un véhicule. Donner la procédure PL/SQL permettant l’enregistrement du retour, pour une date de retour donnée et pour un véhicule dont le numéro sera saisi ainsi que le kilométrage de fin de location. Informations à saisir par l’utilisateur sont : numéro du véhicule, date de retour, kilométrage de fin.
Les messages suivants sont à prévoir :
— numéro véhicule inconnu,
— ce véhicule n’est pas en cours de location,
— la date de retour doit être postérieure à la date de début de location,
— le kilométrage de fin doit être supérieur au kilométrage de début,
— le retour a bien été enregistré et le kilométrage du véhicule a été mis à jour.
Première séance : Connexion : sqlplus <user>/<password>@KIROV
Lors de votre première connexion modifier votre mot de passe avec la commande : PASSWORD;
Ce qui est équivalent à : ALTER USER dupond IDENTIFIED BY password;
Si le mot de passe est égaré quelque part, il faut se connecter en ssh sur londres et faire oracle_passwd
Pour lancer un fichier .sqlen sqlplus, il suffit de taper :@toto.sql;
Pour quitter sqlplus, il suffit de taper : quit;
Lancer sqlplus avec cette commanderlwrap sqlplus vous permet d’avoir l’historique.
Corbeille : Vider les tablesBIN$$xxxx : avec la commandePURGE RECYCLEBIN;
En cas de blocage : Dans un terminal executer la commande suivante pour voir lespiddes processus zombies :ps -aux | grep sqlplus
Ensuite tuer ces zombies grâce à la commande kill -9 numerodepid