Pl/sql
Table Avion : Table Pilote : Table Passager :
Table Vol : Table Depart :
Table Reservation :
Exercice 1 Ecrivez un programme PL/SQL qui insère le vol AF110 partant de Paris à 21h40 et arrivant à Dublin à 23h10 (hypothèse : le vol n’est pas déjà présent dans la table). Exercice 2 Ecrivez un programme PL/SQL qui propose les vols pour un tour du monde au départ de Paris avec des
escales et des durées d’escale prédéfinies dans la table Escales. Le nombre d’escales à faire doit être demandé à l’utilisateur. Hypothèse de travail : pour chaque escale il existe un vol et un seul satisfaisant les contraintes. Escales :
Exercice 3 Ecrivez un programme PL/SQL qui calcule la moyenne des salaires des pilotes dont l’âge est entre 30 et 40 ans. Exercice 4 Modifiez le programme PL/SQL de l’exercice 2 pour qu’il fonctionne même si plusieurs vols satisfont les contraintes. Exercice 5 Ecrivez une procédure PL/SQL capable de faire des propositions de tours du monde, prenant en entrée la ville de départ (qui est aussi la destination finale) et deux bornes (supérieure et inférieure) pour le nombre
d’escales. Dans ce cas il n’y a pas de liste prédéfinie d’escales et on ne s’intéresse pas à la durée des escales. Cherchez à utiliser une procédure ou fonction récursive (PL/SQL admet la récursivité). Exercice 6 Transformez le programme du dernier exercice du précédent ED en procédure prenant comme paramètre le nombre d’escales. Regroupez-la avec la procédure de l’exercice précédent dans un paquetage. Pouvons-nous définir des curseurs et/ou variables communes entre les deux procédures ? -----------------------------------------------------------------------------------------------------Correction PL/SQL -----------------------------------------------------------------------------------------------------Corrigé Exercice 1 : PL/SQL DECLARE heure1 CHAR(5) := ‘2140’; heure2 CHAR(5) := ‘2310’; ville1 VARCHAR2(20) := 'Paris'; ville2