Vous êtes sur la page 1sur 2

TP 2 : Conditions et boucles

1. Excutez le script lab2_1.sql pour crer une table MESSAGES. Ecrivez un Bloc PL/SQL
pour insrer des nombres dans la table MESSAGES (enregistrer le sous le nom p2q1.sql).
a. Insrez les nombres de 1 10, en excluant 6 et 8.
b. Programmer un commit avant la fin du bloc PL/SQL
c. Afficher le contenu de la table MESSAGES pour tester votre bloc PL/SQL
RESULTS
--------1
2
3
4
5
7
9
10
2. Crez un bloc PL/SQL qui calcul le montant de la commission dun employ donn, en
fonction de son salaire.
a.

crer un nouvel employ dans la table EMP.


Note : Lemploy aura un salaire NULL.
b.
Faites saisir le numro demploy lutilisateur, laide dune variable de
substitution SQL*Plus.
c.
Si le salaire de lemploy est infrieur $1000, la commission vaut 10% du
salaire.
d.
Si le salaire de lemploy est compris entre $1000 et $1500, la commission vaut
15% du
salaire.
e.
Si le salaire de lemploy est suprieur $1500, la commission vaut 20% du
salaire.
f.
Si le salaire de lemploy est NULL, la commission vaut 0.
g.
Programmer un commit avant la fin du bloc PL/SQL
h.
Excuter votre programme PL/SQL, utiliser le tableau suivant pour tester
chaque cas, et vrifier la valeur de la commission.

EMPNO ENAME SAL


COMM
----- ------ ----- --------8000 DOE
0
7499 ALLEN 1600
320
7934 MILLER 1300
195
7369 SMITH 800
80

3.
Modifiez le fichier p2q1.sql pour insrez le texte Nombre pair ou Nombre
impair , selon que le nombre correspondant dans la table MESSAGES est pair ou impair.
Regardez votre table MESSAGES pour vrifier que le programme PL/SQL a fonctionn.
RESULTS
--------------Nombre pair
4. Ajoutez une nouvelle colonne STARS varchar2(100), dans la table EMP qui permettra
de stocker des toiles (*).
5. Crez un programme PL/SQL qui rcompense les employs en leur attribuant une toile
dans la colonne STARS par tranche de salaire de $100.Sauvegardez votre programme
PL/SQL sous le nom p2q5.sql.
a.
Faites saisir le numro demploy lutilisateur, par une variable de substitution
SQL*Plus.
b.
Initialiser une variable qui contiendra un ensemble dtoile (*).
c.
Ajoutez une toile la chane par tranche de salaire de $100. Par exemple, si
Lemploy a un salaire de $800, la chane comportera 8 toiles. Si lemploy
touche un salaire de $1250,la chane comportera 13 toiles.
d.
Programmer un Update de la colonne STARS de tous les employs avec cette
chane (*).
e.
Programmer un commit avant la fin du bloc PL/SQL
f.
Testez le programme pour les employs qui nont pas de salaires et pour ceux
qui en ont un.
Entrez le numro demploy : 7934
PL/SQL procedure successfully completed.
Entrez le numro demploy : 8000
PL/SQL procedure successfully completed.

EMPNO SAL STARS


----- ------ ---------------8000
7934 1300 *************