PL/ SQL
Gestion des exceptions
Exercice 1 :
Écrivez un bloc PL/SQL qui cherche un article spécifique dans la table Article en fonction de son
num_article. Si aucun article ne correspond, gérez l'exception NO_DATA_FOUND et affichez un
message approprié.
Instructions :
1. Déclarer une variable pour stocker le nom de l'article.
2. Utiliser une requête SELECT INTO pour rechercher l'article avec un numéro spécifique.
3. Gérer l'exception NO_DATA_FOUND si l'article n'existe pas.
Exercice 2 :
Écrivez un bloc PL/SQL qui cherche les fournisseurs dans une ville spécifique (par exemple, Casablanca)
dans la table Fournisseurs. Si plusieurs fournisseurs sont trouvés, gérez l'exception TOO_MANY_ROWS et
affichez un message d'erreur.
Exercice 3 :
Écrivez un bloc PL/SQL qui simule une vente dans la table Vente. Si la quantité vendue dépasse le stock
disponible pour un article, levez une exception personnalisée avec RAISE_APPLICATION_ERROR.
Instructions :
1. Déclarer une variable pour la quantité vendue et le stock disponible.
2. Si la quantité vendue dépasse le stock, lever une exception avec RAISE_APPLICATION_ERROR.
3. Gérer l'exception et afficher un message approprié.
Exercice 4 : Gestion d'exceptions dans des curseurs explicites
Écrivez un programme PL/SQL qui parcourt les enregistrements de la table Vente pour calculer le revenu
total d'un client donné. Gérez les exceptions si :
Le client n'a effectué aucune vente.
Une division par zéro est détectée lors du calcul du prix unitaire (erreur de données).
Instructions :
1. Déclarer un curseur pour sélectionner les ventes d'un client spécifique.
2. Parcourir le curseur et calculer le revenu total.
3. Gérer les exceptions NO_DATA_FOUND et ZERO_DIVIDE.
Exercice 5 :
Simulez une insertion dans la table Vente pour vérifier si le montant total de la vente dépasse une limite
spécifique (par exemple, 10 000 MAD). Si c'est le cas, levez une exception personnalisée.
Instructions :
1. Calculer le montant total d'une vente (quantité * prix unitaire).
2. Si le montant total dépasse une limite donnée, lever une exception personnalisée.
3. Gérer cette exception et afficher un message approprié.