diff --git a/QUIZZ/2020-BD_PLSQL_Cours-1_a_8-2.tex b/QUIZZ/2020-BD_PLSQL_Cours-1_a_8-2.tex new file mode 100644 index 0000000..506d387 --- /dev/null +++ b/QUIZZ/2020-BD_PLSQL_Cours-1_a_8-2.tex @@ -0,0 +1,173 @@ +\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} + +