50% ont trouvé ce document utile (2 votes)
1K vues4 pages

PL TP1

Le document contient la description de plusieurs exercices sur PL/SQL introduisant des concepts comme les blocs anonymes, les boucles FOR, les déclarations de variables, les insertions et mises à jour de données dans des tables.

Transféré par

Mohamed Maddouri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
50% ont trouvé ce document utile (2 votes)
1K vues4 pages

PL TP1

Le document contient la description de plusieurs exercices sur PL/SQL introduisant des concepts comme les blocs anonymes, les boucles FOR, les déclarations de variables, les insertions et mises à jour de données dans des tables.

Transféré par

Mohamed Maddouri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Classe : 3A

TP 1 : Introduction PL/SQL
Exercice1
a.
b.
c.
d.

Parmi les dclarations et les blocs PL/SQL suivants, lesquels s'excutent avec succs ?
BEGIN
END; false
DECLARE
amount INTEGER(10);
END; false
DECLARE
BEGIN
END; false
DECLARE
amount INTEGER(10);
BEGIN
DBMS_OUTPUT.PUT_LINE(amount);
END; True

Exercice2
Crez et excutez un bloc anonyme simple qui affiche "Hello World". Excutez et enregistrez
ce script sous le nom [Link].
DECLARE
var varchar(40):='Helo world';
BEGIN
DBMS_OUTPUT.PUT_LINE(var);
END;

Exercice3
Ecrivez un programme pl/sql placant la valeur 10 dans une variable a, puis affichant la
factorielle de a. Excutez et enregistrez ce script sous le nom [Link].
DECLARE
a number :=10;
f number :=1;
BEGIN
for i IN 1..10 LOOP
f:=f*i;
END LOOP;
DBMS_OUTPUT.PUT_LINE(f );

END;

Exercice4
Parmi les dclarations de variables suivantes, dterminer celles qui sont incorrectes :
A-

DECLARE
v_id NUMBER(4); true
B- DECLARE
v_x,v_y,v_z VARCHAR2(10); false
C - DECLARE
v_date_naissance DATE NOT NULL; false
D - DECLARE
v_en_stock BOOLEAN := 1; false
E-

DECLARE
emp_record

emp_record_type; false

Exercice5
1.

Crer un bloc PL/SQL pour insrer un nouveau dpartement juridiquedans la table


DEPARTMENTS ". Excutez et enregistrez ce script sous le nom [Link].
a) Utiliser la squence DEPT_ID_SEQ pour gnrer un numro de dpartement on
suppose que la squence existe dj dans notre base de donnes).(. Laisser le numro
de rgion(location_id) NULL.

DECLARE
BEGIN
insert into departments
(department_id,department_name,manager_id,location_id)values([Link](),1
47,'juridique');
end;
Crer la table commande contenant le num_cmd , num_client,employee_id,date_cmd
et total ajouter les contraintes [Link] cl primaire est compose du num_cmd
et du num_client
Create table commande (
Num_cmd number,
Num_client number,
Employee_id number,

Date_cmd date,
Constraint pk_cmd primary key(num_cmd , num_client)
);

Crer un bloc PL/SQL permettant de mettre jour le pourcentage de commission de


lemploy num 100 en fonction du total de ses ventes. Excutez et enregistrez ce script
sous le nom [Link]:
Trouver la somme totale de toutes les commandes traites par cet employ
Mettre jour le pourcentage de commission de lemploy :
- si la somme est infrieure 100,000 passer la commission 10
- si la somme est comprise entre 100,000 et 1,000,000 inclus passer la commission
15
- si la somme excde 1,000,000 passer la commission 20
- si aucune commande nexiste pour cet employ, mettre la commission 0

Exercice6
Ecrire un bloc PL/SQL qui permet dafficher le nom et le revenu mensuel dun
employ donn (revenu mensuel=salaire(1+commission)). Utiliser le type record vu en
cours.

Exercice7
Testez la visibilit des variables suivantes, donnez le rsultat chaque niveau (ligne 916-18) :

Exercice8
Crer la table Etudiant (Noetud number, NomEtud Varchar(20), Note
number).

Ecrire un bloc PL/SQL permettant de remplir la table Etudiant de 30


enregistrements.
Noetud
1
2

30

NomEtud
Etudiant 1
Etudiant 2

Note
10
10

Etudiant 30

10

Vous aimerez peut-être aussi