\documentclass[12pt]{article} %\usepackage{moodle} \usepackage{sanssolmoodle} \begin{document} \begin{quiz}{Quizz Cours 1, Chapitre 1 a 6.3} \begin{multi}[multiple,points=1]{01-PL/SQL} Que signifie PL/SQL ? \item Petit language / Simplement Qualifi\'e Libre \item* Procedural Language / Structured Query Language \item Process Limited / Streaming Query Listener \end{multi} \begin{multi}[points=1]{02-Fichier de commandes SQL} Est-ce que l'utilitaire SQL permet aux utilisateurs d'ex\'ecuter un programme PL/SQL ? \item* VRAI \item FAUX \end{multi} \begin{multi}[multiple, points=1]{03-Fichier de commandes SQL} Que fait l'instruction ci-dessous ?\\ variable vnoproduit CHAR(6) \item d\'eclaration 6 variables appel\'ees vnoproduit de type cha\^ine de caract\`eres de longueur variable \item* d\'eclaration d'une variable appel\'ee vnoproduit de type cha\^ine de caract\`eres de longueur 6 \end{multi} \begin{multi}[multiple, points=1]{04-Fichier de commandes SQL} Quels sont les formats autoris\'es pour les ''bind variable'' ? \item NUMERIC \item* NUMBER \item* CHAR(n) \item* VARCHAR2(n) \item STRING \end{multi} \begin{multi}[multiple, points=1]{05-Fichier de commandes SQL} Quelle est la syntaxe correcte pour acc\`eder \`a la cha\^ine de caract\`eres stock\'ee dans la variable vnoproduit dans une requ\^ete SQL ? \item SELECT * FROM tproduit WHERE Noproduit = vnoproduit; \item* SELECT * FROM tproduit WHERE Noproduit = '\&vnoproduit'; \item SELECT * FROM tproduit WHERE Noproduit = \&vnoproduit; \item SELECT * FROM tproduit WHERE Noproduit = :vnoproduit; \item SELECT * FROM tproduit WHERE Noproduit = ':vnoproduit'; \end{multi} \begin{multi}[multiple, points=1]{06-Fichier de commandes SQL} Quelles sont les commandes utilis\'ees pour interagir avec les utilisateurs ? \item* PRINT \item IMPRIME \item* PROMPT \item AFFICHE \item* ACCEPT \item ENREG \end{multi} \begin{multi}[multiple, points=1]{07-Code PL/SQL} Quelles sontt les affirmations justes ? \item* En SQL les commandes sont transmises les unes apr\`es les autres et trait\'ees s\'epar\'ement par le moteur SQL \item* En PL/SQL les blocs de commandes sont tranmis globalement au moteur SQL \item En SQL et en PL/SQL les commandes sont transmises les unes apr\`es les autres et trait\'ees s\'epar\'ement par le moteur SQL \item En SQL et en PL/SQL les commandes sont transmises en bloc au moteur SQL \end{multi} \begin{multi}[points=1]{08-Programme PL/SQL} Un programme PL/SQL type est-il compos\'e en 3 parties ?\\ - Commandes SQL+ pour la saisie d'information\\ - Bloc PL/SQL pour le traitement\\ - Commandes SQL+ pour afficher le r\'esultat \item* VRAI \item FAUX \end{multi} \begin{multi}[multiple, points=1]{09-Programme PL/SQL} Identifiez les d\'efinitions qui sont justes ? \item* . : ce point indique la fin du mode PL/SQL \item* / : d\'eclenche l'ex\'ecution du bloc PL/SQL \item ; : ce point virgule indique la fin du mode PL/SQL \item /* */ : d\'eclenche l'ex\'ecution du bloc PL/SQL \end{multi} \begin{multi}[multiple, points=1]{10-Struture d'un bloc PL/SQL} Identifiez les affirmations qui sont justes ? \item le bloc PL/SQL est compos\'e de 3 sections obligatoires \item* la section BEGIN est obligatoire \item* les sections DECLARE et EXCEPTION sont facultatives \item le ; en fin d'instruction est facultatif \item* on signale les commentaires par /* */ ou - - en d\'ebut de ligne \end{multi} \begin{multi}[multiple, points=1]{11-Type de variable en PL/SQL} Quels sont les formats autoris\'es en PL/SQL ? \item NUMERIC \item* NUMBER \item* CHAR(n) \item* VARCHAR2(n) \item STRING \item* DATE \end{multi} \begin{multi}[multiple, points=1]{12-Type de variable en PL/SQL} Quelles sont les d\'eclarations de variable qui sont justes ? \item* dnom VARCHAR2(50); \item dnom CHAR(50) = 'Le nom r\'eel'; \item* dnb NUMER := 0; \item* dnom tproduit.nom \%type; \item dnom tproduit.nom; \end{multi} \begin{multi}[multiple, points=1]{13-Type de variable en PL/SQL} Est-ce que l'on peut d\'eclarer un tableau en PL/SQL ? \item* VRAI \item FAUX \end{multi} \begin{multi}[multiple,points=1]{14-Traitement du bloc BEGIN} Quelle requ\^ete SQL est bien \'ecrite lorqu'elle est dans le bloc PL/SQL ? \item SELECT designation FROM tProduit WHERE noProduit = 'P001'; \item* SELECT designation into ddesignation FROM tProduit WHERE noProduit = 'P001'; \end{multi} \begin{multi}[multiple, points=1]{15-Traitement du bloc BEGIN} Quelles sont les requ\^etes ci-dessous qui s'ex\'ecuteront sans erreur ?\\ Pour information : le produit P001 existe,\\ le produit P002 n'existe pas,\\ plusieurs produit ont un prix de vente \`a 15. \item* SELECT designation into ddesignation FROM tProduit WHERE noProduit = 'P001'; \item SELECT designation into ddesignation FROM tProduit WHERE noProduit = 'P002'; \item SELECT designation into ddesignation FROM tProduit WHERE prixv = 15; \end{multi} \begin{multi}[points=1]{16-Traitement du bloc BEGIN} Les instruction SQL INSERT, UPDATE et DELETE ont aussi des changements pour s'ex\'ecuter dans un bloc PL/SQL ? \item VRAI \item* FAUX \end{multi} \begin{multi}[multiple, points=1]{17-Traitement du bloc BEGIN} Quels sont les op\'erateurs utilis\'es dans les conditions PL/SQL ? \item == \item* = \item* != \item += \item* $<$ $>$ \item \& \item* IS NULL \end{multi} \begin{multi}[points=1]{18-Traitement du bloc BEGIN} Quelle est la bonne syntaxe pour le traitement conditionnel IF ? \item je ne sais pas \item* IF condition\\ THEN\\ instructions;\\ END IF; \item IF condition\\ instructions;\\ END; \end{multi} \begin{multi}[multiple, points=1]{19-Traitement du bloc BEGIN} Quelle est la bonne syntaxe pour le traitement conditionnel IF ? \item je ne sais pas \item* IF condition\\ THEN\\ instructions;\\ ELSE\\ instructions;\\ END IF; \item IF condition\\ instructions;\\ ELSE\\ instructions;\\ END; \end{multi} \begin{multi}[multiple, points=1]{20-Traitement du bloc BEGIN} Quelle est la bonne syntaxe pour une boucle WHILE ? \item je ne sais pas \item* WHILE condition\\ LOOP\\ instructions;\\ END LOOP; \item WHILE condition\\ instructions;\\ END WHILE; \end{multi} \end{quiz} \end{document}