\documentclass[12pt]{article} \usepackage{moodle} %\usepackage{sanssolmoodle} \begin{document} \begin{quiz}{Quizz Cours PL/SQL, Chapitre 1 a 8.2} \begin{multi}[points=1]{01-Syntaxe} La d\'eclaration ci-dessous est-elle juste ?\\ DECLARE\\ dIdentifiant NUMBER(4) ; \item* VRAI \item FAUX \end{multi} \begin{multi}[points=1]{02-Syntaxe} La d\'eclaration ci-dessous est-elle juste ?\\ DECLARE\\ ID, NoID, Test VARCHAR2(10) ; \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{03-Syntaxe} La d\'eclaration ci-dessous est-elle juste ?\\ DECLARE\\ dEnStock NUMBER(4) = 1 ; \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{04-Syntaxe} La traitement ci-dessous est-il juste ?\\ BEGIN\\ dToto := ':vTotoSaisie'; \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{05-Syntaxe} Le traitement ci-dessous est-il juste ?\\ BEGIN\\ SELECT colonne FROM TableDeLaBase WHERE colonne2 = 'valeur'; \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{06-Syntaxe} Le traitement ci-dessous est-il juste ?\\ BEGIN\\ WHILE r\%FOUND\\ LOOP\\ INSERT INTO tligne VALUES (CONCAT('Valeur :' , TO\_CHAR(i))) ;\\ i := i + 1;\\ END LOOP; \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{07-Syntaxe} Le traitement ci-dessous est-il juste ?\\ BEGIN\\ IF monTest = maVariable THEN\\ RAISE monErreur ; \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{08-Syntaxe} Le traitement ci-dessous est-il juste ?\\ EXCEPTION\\ WHEN OTHERS THEN\\ INSERT INTO tligne VALUES (SQLERRM); \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{09-SQL} Combien faut-il de conditions de jointures entre N tables pour \'eviter un produit cart\'esien? ? \item 0 \item N+1 \item* N-1 \item N \end{multi} \begin{multi}[multiple, points=1]{10-SQL} Quelle fonction ram\`ene toujours un enregistrement ? \item SUBSTR \item CONCAT \item ROUND \item* COUNT \end{multi} \begin{multi}[multiple, points=1]{11-Les curseurs} Comment savoir si on a lu des donn\'ees d'un curseur nomm\'e Curs ? \item Curs IS NOT NULL \item* Curs\%FOUND \item* NOT Curs\%NOTFOUND \item Curs != '' \end{multi} \begin{multi}[multiple, points=1]{12-Les curseurs} Est-il possible de mettre \`a jour un curseur durant sa lecture ? \item* VRAI \item FAUX \end{multi} \begin{multi}[multiple, points=1]{13-Les curseurs} Que peut retourner un curseur sans lever d'exception ? \item* aucune ligne \item* une ligne \item* plusieurs lignes \end{multi} \begin{multi}[multiple, points=1]{14-Variable} Dans quelles sections peut-\^etre utilis\'ee une variable SQL+ ? \item* section SQL+ avant un bloc PL/SQL \item* bloc PL/SQL \item* section SQL+ apr\`es un bloc PL/SQL \end{multi} \begin{multi}[multiple, points=1]{15-Variable} Dans quelles sections peut-\^etre utilis\'ee une variable PL/SQL ? \item section SQL+ avant un bloc PL/SQL \item* bloc PL/SQL \item section SQL+ apr\`es un bloc PL/SQL \end{multi} \begin{multi}[multiple, points=1]{16-Affichage} Quelles sont les possibilit\'es pour afficher le r\'esultat d'un traitement ? \item Variable PL/SQL \item* Variable SQL+ \item* Table d\'eclar\'ee dans la section SQL+ \item* Table d\'eclar\'es dans le bloc PL/SQL \end{multi} \begin{multi}[multiple, points=1]{17-Les curseurs} Quels mot cl\'es servent pour g\'erer les Exceptions ? \item CURSOR \item* EXCEPTION \item* RAISE \item* WHEN \item IS \end{multi} \begin{multi}[multiple, points=1]{18-Les curseurs} Comment identifier que l'on n'a pas de donn\'ees pour une requ\^ete ? \item je ne sais pas \item* SQLCODE = +100 \item* NO\_DATA\_FOUND \item TOO\_MANY\_ROWS \end{multi} \begin{multi}[multiple, points=1]{19-EXCEPTION} La requ\^ete suivante ins\'ere le code erreur et le message de la requ\^ete pr\'ec\'edente en erreur ?\\ INSERT INTO TLigne (NumCodeErr, MessageErr) VALUES (SQLCODE, SQLERRM); \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{20-Les curseurs} Peut-on avoir plusieurs requ\^etes qui lèvent le même type d'erreur dans un traitement ? \item* VRAI \item FAUX \end{multi} \end{quiz} \end{document}