0% ont trouvé ce document utile (0 vote)
161 vues3 pages

Erreurs et exercices en PL/SQL

Ce document contient des exercices sur PL/SQL. Il présente des déclarations de variables, des blocs PL/SQL avec des requêtes INSERT, SELECT et autres instructions. Le schéma relationnel décrit des tables liées à des données médicales sur les médecins, patients, hôpitaux et spécialités. Les exercices portent sur la manipulation de données dans ces tables via des programmes PL/SQL.

Transféré par

Mariem Selmi
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
161 vues3 pages

Erreurs et exercices en PL/SQL

Ce document contient des exercices sur PL/SQL. Il présente des déclarations de variables, des blocs PL/SQL avec des requêtes INSERT, SELECT et autres instructions. Le schéma relationnel décrit des tables liées à des données médicales sur les médecins, patients, hôpitaux et spécialités. Les exercices portent sur la manipulation de données dans ces tables via des programmes PL/SQL.

Transféré par

Mariem Selmi
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 PDF, TXT ou lisez en ligne sur Scribd

Module : Bases de données Avancées

Abir Gorrab
4ème ING TP2 : Introduction à PL/SQL
2020/2021

Exercice 1

Parmi les déclarations de variables suivantes, déterminer celles qui sont incorrectes :

a– DECLARE f- DECLARE
v_var NUMBER(4); nom char (15) ;
numéro number ;
b - DECLARE date_jour date ;
v_x1,v_x2,v_x3 salaire number (7,2) ;
NUMBER(10); compteur NUMBER(2) default 0 ;
g- Declare
c - DECLARE Date1 DATE;
v_date_naiss DATE NOT NULL; Date2 Date1%Type;
h- DECLARE
d - DECLARE emp employe;
v_b BOOLEAN := 1;
i- rec_dept departement%ROWTYPE ;
e - DECLARE
v_ok, v_n := ‘yes’, 1 ;

Exercice2

Expliquer le fonctionnement désiré par ces blocs PL/SQL et déterminer l’erreur si elle existe.

Exemple 1 :
BEGIN
INSERT INTO emp(empno,ename) VALUES (1,’ali’) ;
CREATE TABLE valide(n NUMBER(2)) ;
END ;

Exemple 2 :
DECLARE
chaine varchar2(10) :=’Bonjour’ ;
BEGIN
DBMS_OUTPUT.PUT_LINE(‘la chaine est’||chaine) ;
END ;

Exemple 3 :
DECLARE
nom_emp varchar2 (15) ;
salaire emp.sal%TYPE ;
BEGIN
select ename, sal, comm, dname
into nom_emp, salaire
from emp, dept
END ;

Exemple 4 :
ACCEPT nom_prod PROMPT ‘nom du produit désiré’
DECLARE
qte_stock number (5) ;
BEGIN
select quantite into qte_stock
from stock
where produit = ‘&nom_prod’ ;
END ;

Exemple 5 :
variable var1 number ;
DECLARE
numero NUMBER(2) :=3 ;
BEGIN
:var1 := numero+10 ;
end ;
print var1 ;

Exercice 3
Considérons ce schéma relationnel :

MEDECIN (numMed, nom_med, statut, salaire, numSpecialite#, numHopital#)


MALADE (numMal, nom_mal, prenom_mal, age_mal, adr_mal)
CONSULTATION (numMed#, numMal#, prescription, date, examen)
HOPITAL (numHopital, nom_hopital, region)
SPECIALITE (numSpecialite, nom_specialite, description, numHopital#)

1. Ecrire un programme PL/SQL qui insère le médecin nommé ‘Ali’, de statut ‘permanent’, à la
spécialité numéro 1 et l’hôpital numéro 2.

2. Ecrire un programme PL/SQL qui donne le nom et la région d’un hôpital dont le numéro est
saisi au clavier.

3. En PL/SQL, écrire un programme qui donne les noms de toutes les spécialités dans l’hôpital
numéro 1.

4. Donner le salaire maximal, minimal et celui moyen dans la table médecin.

5. Créer un bloc PL/SQL permettant de mettre à jour le nom d’une spécialité existante. Le
nouveau nom et le numéro de la spécialité sont entrés en paramètre.

6. Créer un bloc PL/SQL pour supprimer une consultation dont la date est saisie au clavier.

Vous aimerez peut-être aussi