Quizz Cours 2, Chapitre 7 a 8.2
1. 01-Gestion des erreurs
Que se passe-t-il lorsqu’une instruction PL/SQL se passe mal ? (a) rien
(b) une exception est lev´ee
(c) le programme appelle un ami programme 2. 02-Gestion des erreurs
O`u est ce que l’on peut sp´ecifier un comportement adapt´e lorsqu’une erreur est lev´ee ?
(a) dans la section EXCEPTION (b) Nulle part
(c) dans une section CATCH 3. 03-Gestion des erreurs
Combien existe-t-il de types d’erreurs ? (a) plus de 2
(b) 2 types, celle d’Oracle et celle d´eclar´ee par le d´eveloppeur (c) qu’un seul et unique : le type erreur
4. 04-Gestion des erreurs
O`u se situe la section EXCEPTION par rapport aux autres ? (a) DECLARE EXCEPTION BEGIN
(b) DECLARE BEGIN EXCEPTION (c) EXCEPTION DECLARE BEGIN 5. 05-Gestion des erreurs
O`u doit-on initilialis´e le message d’erreur possible li´e `a une requˆete SQL
?
(a) Apr`es la requˆete car avant on n’a pas l’erreur
(b) Avant la requˆete car s’il y a une erreur on n’ex´ecute pas le code apr`es la requeˆete
6. 06-Gestion des erreurs
Quelles sont les variables utilis´ees pour documenter l’erreur ? (a) SQLCODE
(b) ERREUR (c) SQLERRM (d) ERROR
7. 07-Gestion des erreurs
Que se passe-t-il lors d’une erreur ?
(a) On ex´ecute la section EXCEPTION puis on sort du traitement (b) On sort du programme sans ex´ecuter la section EXCEPTION
parce qu’on est en erreur
(c) On ex´ecute le code jusqu’`a la section EXCEPTION puis celui de la section EXCEPTION puis on finit le traitement
8. 08-Gestion des erreurs
Quels sont les couples code et description qui sont justes ? (a) +100 - NO DATA FOUND
(b) 0 - FATAL ERROR
(c) -1422 - TOO MANY ROWS (d) -1 - DUP VAL ON INDEX
(e) -666 - DEVIL ERROR 9. 09-Gestion des erreurs
Que fait le code ci-dessous ? BEGIN
INSERT INTO ttest (col1,col2,col3) VALUES (dcol1, dcol2, dcol3);
EXCEPTION
WHEN DUP VAL ON INDEX THEN
INSERT INTO Tligne VALUES (dcol1 || ’ d´ej`a existant’);
END;
(a) Il insert une ligne dans la table ttest et insert une ligne dans la table Tligne
(b) Il insert une ligne dans la table ttest ou il insert une ligne dans la table Tligne
(c) Il n’ins´ere aucune ligne dans aucune table 10. 10-Gestion des erreurs
Est ce que le code ci-dessous permet de bien g´erer l’erreur utilisateur ? DECLARE
nom erreur EXCEPTION;
BEGIN IF 0 THEN
RAISE nom erreur;
END IF;
EXCEPTION
WHEN OTHERS THEN
INSERT INTO Tligne VALUES(’Erreur globale’);
WHEN nom erreur THEN
INSERT INTO Tligne VALUES(’nom Erreur’);
END;
(a) VRAI (b) FAUX 11. 11-Les curseurs
Quel est le but d’utiliser un curseur plutˆot qu’une requˆete simple ? (a) par ce qu’est plus facile
(b) pour lire le r´esultat d’une requˆete dans le cas o`u elle d´elivre plusieurs lignes
12. 12-Les curseurs
Quelle est la bonne syntaxe pour d´eclarer un curseur ?
(a) CURSOR r IS SELECT codeRayon FROM trayon WHERE etage
= detage;
(b) CURSOR r IS SELECT codeRayon INTO dcodeRayon FROM trayon WHERE etage = detage;
(c) CURSOR SELECT codeRayon FROM trayon WHERE etage = detage;
13. 13-Les curseurs
Que fait l’instruction OPEN du curseur ?
(a) Elle ex´ecute la reqˆete et stocke le r´esultat dans la variable curseur (b) Elle ferme le curseur
14. 14-Les curseurs
Quelle est la bonne syntaxe de l’instruction FETCH du curseur ci- dessous ?
CURSOR r IS SELECT codeRayon, etage FROM trayon WHERE etage = detage;
(a) FETCH r INTO dcodeRayon;
(b) FETCH r;
(c) FETCH r INTO dcodeRayon, detage;
15. 15-Les curseurs
Comment sait-on s’il reste des donn´ees `a lire dans le curseur ? (a) On ne peut pas le savoir
(b) avec la variable nom curseur%FOUND (c) avec SQLCODE et SQLERRM
16. 16-Les curseurs
Quelle boucle ci-dessous permet de lire tous les enregistrements d’un curseur ?
(a) WHILE r%FOUND LOOP
instructions;
END LOOP;
(b) WHILE r%FOUND LOOP
instructions;
FETCH r INTO dcodeRayon,detage;
END LOOP;
17. 17-Les curseurs
Que fait l’instruction CLOSE du curseur ?
(a) Elle ex´ecute la reqˆete et stocke le r´esultat dans la variable curseur (b) Elle ferme le curseur
18. 18-Les curseurs
Quelle est la bonne syntaxe pour traiter le cas o`u il n’y a aucun enreg- istrement ?
(a) je ne sais pas
(b) IF NOT r%FOUND (c) IF r%NOTFOUND (d) IF r IS NULL
(e) IF r = ” 19. 19-Les curseurs
Peut-on mettre `a jour la ligne courante du curseur ? (a) VRAI
(b) FAUX 20. 20-Les curseurs
Quelle est la bonne syntaxe pour mettre `a jour la ligne courante du curseur ?
(a) je ne sais pas
(b) CURSOR r IS SELECT codeRayon FROM trayon;
OPEN r;
FETCH r INTO dcodeRayon;
UPDATE trayon SET nomRayon = dnomRayon WHERE CUR- RENT OF r;
(c) CURSOR r IS SELECT codeRayon FROM trayon FOR UPDATE;
OPEN r;
FETCH r INTO dcodeRayon;
UPDATE trayon SET nomRayon = dnomRayon WHERE CUR- RENT OF r;