BASES DE DONNEES RELATIONNELLES
Travaux pratiques
Question 1:
Créer une table E_Augmentation comprenant les champs suivants :
No Number(7), Augmentation Number(11,2), Date_Augmentation Date, Emp_No Number(7)
Question 2: (Curseur, Instructions OPEN, FETCH, CLOSE, %FOUND)
Ecrire un programme permettant :
•la mise à jour du salaire de tous les employés de la table E_Employe selon les conditions
suivantes:
si son année d’entrée dans la société est 1995, augmenter le salaire de 50%.
si son année d’entrée dans la société est 1996, augmenter le salaire de 25%.
si son année d’entrée dans la société est 1997, augmenter le salaire de 10%.
•l’insertion des modifications dans la table E_Augmentation des informations suivantes:
le montant d’augmentation, la date d’augmentation, le numéro de l’employé, ainsi que
le champ No qui sert d’identifiant de ligne pour la table.
ORACLE PL/SQL
BASES DE DONNEES RELATIONNELLES
Question 3: (Utilisation d’un curseur avec la boucle FOR…LOOP)
Créer une table E_Resultat :
E_Resultat (No Number(2), LB_Resultat Varchar2(60), VL_Resultat Number(11,2))
Ecrire un programme permettant de faire le total des commandes gérées par
chaque employé.
Pour les employés qui ont géré des commandes, faire les insertions dans la table
E_Resultat selon le schéma suivant :
-No --> <<No-programme>>
-LB_Resultat --> <<Nom_Employé>> totalise
-VL_Resultat --> <<Total des commandes gérées>>
ORACLE PL/SQL
BASES DE DONNEES RELATIONNELLES
Question 4: (Utilisation d’un curseur paramétré)
Ecrire un programme qui insère dans la table E_Resultat le nom de l’employé et
son salaire pour les employés dont le salaire vérifie les conditions suivantes :
•Si le salaire >3500, insérer dans la table E_Resultat les données suivantes :
-No --> <<No-programme>>
-LB_Resultat --> <<Variable_Nom_Employé>> a un salaire > 3500
-VL_Resultat --> <<Variable_Salaire_Employé>>
•Si le salaire >4500, insérer dans la table E_Resultat les données suivantes :
-No --> <<No-programme>>
-LB_Resultat --> <<Variable_Nom_Employé>> a un salaire > 4500
-VL_Resultat --> <<Variable_Salaire_Employé>>
ORACLE PL/SQL
BASES DE DONNEES RELATIONNELLES
Question 5 (Curseur et clause CURRENT OF)
Ecrire un programme permettant :
•d’abaisser de 30% le prix conseillé des produits qui ne figurent sur aucune des
commandes.
•Insérer dans la table E_Resultat les produits concernés par la réduction :
-No --> <<No-programme>>
-LB_Resultat --> <<Variable_Numéro_Produit>> - <<Nom_Produit>> baisse de
30%
-VL_Resultat --> <<Variable_Prix_Conseillé_avant_de_30%>>
ORACLE PL/SQL