Vous êtes sur la page 1sur 3

TP: PL/SQL

Matière : INGBD Classe : 2ème année LSI


Prof : Mme Emna HKIRI NB pages : 6

Rappel du cours:…………………………………………………………………

Tout code écrit dans un langage procédural est formé de blocs. Chaque bloc
comprend une section de déclaration de variables, et un ensemble d'instructions
dans lequel les variables déclarées sont visibles.

 La syntaxe est :

DECLARE
/ déclaration de variables /
BEGIN
/ instruction s à éxecuter /
END;

Pour afficher le contenu d'une variable, les procédures

DBMS OUTPUT.PUT()
Et DBMS OUTPUT.PUT LINE()

Prennent en argument une valeur à afficher ou une variable dont la valeur est à
afficher.
Par défaut, les fonctions d'affichage sont désactivées. Il convient, de les activer
avec la commande SQL+ .

SET SERVEROUTPUT ON.


Une variable se déclare de la sorte : nom type [ := initialisation ] ;
L'initialisation est optionnelle. On utilise les mêmes types primitifs que dans les
tables.
Les affectations se font avec la syntaxe variable := valeur ;
Par exemple :

SET SERVEROUTPUT ON
DECLARE
c varchar2 (15) := ' Hello World ! ' ;
BEGIN
DBMS_OUTPUT . PUT_LINE ( c ) ;
END;/
FSMonastit SGBD

Gestion des erreurs/ exceptions

DECLARE
/declarations/
BEGIN
/instructions/
EXCEPTION/
traitement des erreurs /
END;

Exceptions prédéfinies

Bon nombre d'exceptions sont prédéfinies par Oracle, par exemple


{ NO DATA FOUND est levée quand la requête d'une instruction de la
forme SELECT ... INTO ... ne retourne aucune ligne

{ TOO MANY ROWS est levée quand la requête d'une instruction de la


forme SELECT ... INTO ... retourne plusieurs lignes

{DUP VAL ON INDEX est levée si une insertion (ou une modification) est
refusée à cause d'une contrainte d'unicité.

Sous-programmes:
CREATE OR REPLACE PROCEDURE / nom / ( / paramètres / ) IS
/ d e c l a r a t i o n des v a r i a b l e s l o c a l e s /
BEGIN
/instructions/
END;

Fonctions: Syntaxe: On crée une nouvelle fonction de la façon suivante :

CREATE OR REPLACE FUNCTION / nom / ( / parameters / ) RETURN /


type/ IS
/ déclaration des variables locales /
BEGIN
/ instructions /
END;
L'instruction RETURN sert à retourner une valeur.

Mme Emna HKIRI Page 2 sur 3


FSMonastit SGBD

-Exercice 1 : Affiche un message à l’écran…………………………………………


DECLARE
W_TEMP VARCHAR2(20);
BEGIN
W_TEMP:= 'informatique';
DBMS_OUTPUT.PUT_LINE(W_TEMP);
END;
-Exercice 2 : Regroupez les deux chaînes ………………………………………….
Ecrivez un programme permettant de concaténer deux chaines de caractères

-Exercice 3 : - Affiche les nombres de 1 à 15………………………………………..


Ecrivez un programme affichant les valeurs de 1 à15

-Exercice 4 : …………………………………………………………………………………
Ecrivez un programme affectant les valeurs 1 et 2 à deux variables a et b, puis
permutant les valeurs de ces deux variables.

Exercice 5………………………………………………………………………………….....
Ecrivez un programme plaçant la valeur 10 dans une variable a, puis affichant la
factorielle de a.

Exercice 6…………………………………………………………………………………….
Ecrivez un programme plaçant les valeurs 48 et 84 dans deux variables a et b puis
affichant le pgcd de a et b.

Exercice 7…………………………………………………………………………………….

Soit la table suivante :


VOL(Numvol, Heure_départ, Heure_arrivée, Ville_départ, Ville_arrivée)
Écrivez un programme PL/SQL qui insère le vol AF110 partant de Tunis à 21h40 et
arrivant à Djerba à 23h10 (hypothèse : le vol n’est pas déjà présent dans la table).
Exercice 8…………………………………………………………………………………….
Exercice 2. Soit la table RES(NO). Écrivez un bloc PL/SQL qui inséré les chiffres de 1 à
100 dans cette table.

Exercice 9…………………………………………………………………………………….
Écrivez un bloc PL/SQL qui affiche la somme des nombres entre 1000 et 10000.

Mme Emna HKIRI Page 3 sur 3

Vous aimerez peut-être aussi