Vous êtes sur la page 1sur 2

Exceptions en PLSQL

Exercice 1
1. Ce point illustre l'utilisation des exceptions prédéfinies. Ecrivez un bloc PL/SQL
permettant de sélectionner le nom d'un employé en fonction de son salaire.
a. Supprimez tous les enregistrements de la table messages.
b. Dans la section déclarative, déclarez deux variables : v_ename de type
employees.last_name et v_emp_sal de type employees.salary. Initialisez cette dernière variable
avec la valeur 6000.
c. Dans la section exécutable, extrayez le nom des employés dont le salaire est égal à la
valeur de v_emp_sal.

Remarque : N'utilisez pas de curseurs explicites. Si une seule ligne est renvoyée pour le salaire
entré, insérez dans la table messages le nom de l'employé et le montant de son salaire.
d. Si aucune ligne n'est renvoyée pour le salaire entré, traitez l'exception à l'aide d'un
gestionnaire approprié et insérez dans la table messages le message "No employee with a salary
of <salary>".
e. Si plusieurs lignes sont renvoyées pour le salaire entré, traitez l'exception à l'aide d'un
gestionnaire approprié et insérez dans la table messages le message "More than one employee
with a salary of <salary>".
f. Traitez toutes les autres exceptions à l'aide d'un gestionnaire approprié et insérez dans
la table messages le message "Some other error occurred".
g. Affichez les lignes de la table messages afin de déterminer si le bloc PL/SQL s'est
exécuté correctement.

Exercice 2
Cet exercice montre comment déclarer des exceptions avec une erreur standard du serveur
Oracle. Utilisez l'erreur ORA-02292 du serveur Oracle (integrity constraint violated – child
record found).
a. Dans la section déclarative, déclarez l'exception e_childrecord_exists. Associez
l'exception déclarée au code d'erreur standard –02292 du serveur Oracle.
b. Dans la section exécutable, affichez "Deleting department 40.....". Incluez une
instruction DELETE afin de supprimer le département dont la valeur department_id est 40.

Dr. Rihab SAID


Fonctions et procédure en PLSQL

Exercice 1
1. Chargez le script que vous avez créé au niveau du TP1.
Modifiez le script afin de convertir le bloc anonyme en procédure nommée salutation.
Exécutez le script afin de créer la procédure.
Enregistrez le script.
Créez et exécutez un bloc anonyme afin d'appeler la procedure.

2. Supprimez la procédure salutation en exécutant la commande suivante :


DROP PROCEDURE salutation
Modifiez la procédure afin qu'elle accepte un argument de type VARCHAR2. Nommez
l'argument p_name.
Affichez "Hello <name>" à la place de "Hello World".
Enregistrez le script.
Exécutez le script afin de créer la procédure.
Créez et exécutez un bloc anonyme afin d'appeler la procédure avec un paramètre.

Exercice 2
Ecrire une fonction qui renvoie la chaîne 'Salaire faible' si le salaire de l'employé donné est
supérieur à 2000\$ sinon retourner 'Bon salaire’

Dr. Rihab SAID

Vous aimerez peut-être aussi