Vous êtes sur la page 1sur 4

ISI MAHDIA R. Ben Elhadj Said & Y.

Ragoug
Département technologies de l’informatique A.U : 2022/2023

Fascicule TP N°4 : Initiation PL/SQL

Partie I : exécuter un script PL/SQL sur sqldeveloper


Etape 1 :

Etape 2 :

TP4 1
ISI MAHDIA R. Ben Elhadj Said & Y. Ragoug
Département technologies de l’informatique A.U : 2022/2023

Etape 3 :

Etape 4 :

Etape 5 :

NB : il faut ajouter ça : SET SERVEROUTPUT ON; au début du script pour débloquer


l’affichage

TP4 2
ISI MAHDIA R. Ben Elhadj Said & Y. Ragoug
Département technologies de l’informatique A.U : 2022/2023

Partie II : Rappel PL/SQL


PL/SQL n'interprète pas une commande, mais un ensemble de commandes contenues dans un
programme ou bloc PL/SQL.
La structure d’un bloc est la suivante:
DECLARE
Déclarations de variables, constantes, exception;
BEGIN
Section obligatoire contenant des instructions SQL et PL/SQL ou des blocs fils (Possibilités
d’imbrication de blocs)
EXCEPTION
Traitement des exceptions (gestion des erreurs)
END;

Partie III : Travail Demandé

Exercice1
Parmi les déclarations et les blocs PL/SQL suivants, lesquels s'exécutent avec succès ?
a).
BEGIN
END;
b)
.DECLARE
amount INTEGER(10);
END;
c).
DECLARE
BEGIN
END;
d).
DECLARE
amount INTEGER(10);
BEGIN
DBMS_OUTPUT.PUT_LINE(amount);
END;

Exercice 2 :
Parmi les déclarations de variables suivantes, déterminer celles qui sont incorrectes :
A–
DECLARE
v_id NUMBER(4);
B–
DECLARE
v_x,v_y,v_z VARCHAR2(10);
C–
DECLARE
v_date_naissance DATE NOT NULL;

TP4 3
ISI MAHDIA R. Ben Elhadj Said & Y. Ragoug
Département technologies de l’informatique A.U : 2022/2023

D–
DECLARE
v_en_stock BOOLEAN := 1;
E–
DECLARE
emp_record emp_record_type;
F–
DECLARE
TYPE type_table_nom IS TABLE OF VARCHAR2(20)
INDEX BY BINARY_INTEGER;
dept_table_nom type_table_nom;
Correcte

Exercice 3 :
Créez et exécutez un bloc anonyme simple qui affiche "Bonjour ".

Exercice 4 :
Ecrivez un programme pl/sql placant la valeur 10 dans une variable a, puis affichant la
factorielle de a.

Exercice 5 :
Tester ce script :

SET SERVEROUTPUT ON;


DECLARE

un_chiffre INTEGER;
ii INTEGER;
multiple INTEGER;

BEGIN

un_chiffre := '&Entrer_un_chiffre';
ii := 1;

LOOP
multiple := un_chiffre * ii;
ii := ii + 1;
EXIT WHEN ii > 10;
END LOOP;

DBMS_OUTPUT.PUT_LINE ('Table_de_multiplication:'||multiple);

END;

TP4 4

Vous aimerez peut-être aussi