diff --git a/COURS/PLSQL.tex b/COURS/PLSQL.tex index 11f951d..df537af 100644 --- a/COURS/PLSQL.tex +++ b/COURS/PLSQL.tex @@ -1268,7 +1268,47 @@ END; \begin{exercice} Pour remplacer l’erreur Oracle par une erreur utilisateur, compter le nombre de produits ayant le numéro donné et déclencher une exception si ce nombre est nul. \end{exercice} +\cache{ +set echo off set verify off set feed off + +CREATE TABLE tLigne(designation VARCHAR2(200)); + +variable vNumProduit CHAR(5); + +prompt Choisissez un numero de produit + +accept vNumProduit + +DECLARE + +NO\_PRODUCTS\_SELECTED EXCEPTION; + +dCountProduit NUMBER; + +BEGIN + +SELECT COUNT(*) INTO dCountProduit FROM tProduit WHERE noProduit = '\&vNumProduit'; + +IF dCountProduit = 0 THEN RAISE NO\_PRODUCTS\_SELECTED; +EXCEPTION + +when NO\_PRODUCTS\_SELECTED then + +INSERT INTO tLigne VALUES('Le produit n existe pas'); + + END; + +. + +/ + +SELECT * FROM tLigne; + +set echo on +set verify on +set feed on +} \section{Les curseurs}\label{sec:curseur}