parent
88f3ef2458
commit
4e58a61dac
@ -1,159 +0,0 @@
|
|||||||
\documentclass[12pt]{article}
|
|
||||||
%\usepackage{moodle}
|
|
||||||
\usepackage{sanssolmoodle}
|
|
||||||
\usepackage[T1]{fontenc}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\begin{quiz}{Quizz Cours PRO*C, Chapitre 1.5 a 1.7}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{01-SQLCA.H}
|
|
||||||
La structure de donn\'ees SQLCA sert \`a quoi ?
|
|
||||||
\item* \`a stocker les donn\'ees du compte rendu d'ex\'ecution d'un ordre SQL
|
|
||||||
\item \`a remplir des lignes de code dans le programme
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[points=1]{02-SQLCA.H}
|
|
||||||
La variable sqlcode sert \`a quoi ?
|
|
||||||
\item* stocker le code retour r\'esultant de l'ex\'ecution de l'ordre SQL
|
|
||||||
\item stocker le code du traitement SQL
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{03-SQLCA.H}
|
|
||||||
La variable sqlca.sqlcode peux prendre plus valeurs.\\
|
|
||||||
Quelle valeur correspond \`a sa d\'efinition ?
|
|
||||||
\item* =0 - traitement d\'eroul\'e sans erreur
|
|
||||||
\item =0 - aucun code retour
|
|
||||||
\item* >0 - traitement d\'eroul\'e sans erreur mais avec un code d'\'etat
|
|
||||||
\item >0 - traitement en erreur
|
|
||||||
\item* < 0 - traitement avec des erreurs
|
|
||||||
\item <0 - traitement d\'eroul\'e sans erreur
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{04-SQLCA.H}
|
|
||||||
La variable sqlerrd[2] sert \`a quoi ?
|
|
||||||
\item \`a se trouver entre la position 1 et 3
|
|
||||||
\item* donner le nombre de lignes modifi\'ees ou rajout\'ees ou ramen\'ees par un ordre SQL
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{05-SQLCA.H}
|
|
||||||
Quelle est la bonne syntaxe pour inclure le fichier SQLCA ?
|
|
||||||
\item INCLUDE SQLCA.H;
|
|
||||||
\item* EXEC SQL INCLUDE SQLCA.H;
|
|
||||||
\item SQLCA.H;
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{06-SQLCA.H}
|
|
||||||
O\`u doit-on utiliser la structure sqlca pour connaitre le compte rendu de la commande SQL ex\'ecut\'ee ?
|
|
||||||
\item* Apr\`es chaque commande SQL
|
|
||||||
\item Avant chaque commande SQL
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{07-WHENEVER}
|
|
||||||
A quoi sert la commande WHENEVER ?
|
|
||||||
\item A faire n'importe, quoi n'importe o\`u et n'importe quand
|
|
||||||
\item* A permettre d'utiliser des directives qui sp\'ecifient le traitement \`a effectuer en cas d'erreur.
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{08-WHENEVER}
|
|
||||||
A quoi correspondent les valeurs possibles du premier param\`etre (type d'erreur) ?
|
|
||||||
\item* SQLERROR : \'equivalent au test sqlca.sqlcode < 0
|
|
||||||
\item SQLWARNING : \'equivalent au test sqlca.sqlcode < 0
|
|
||||||
\item* SQLWARNING : \'equivalent au test sqlca.sqlwarn[0] = 'W'
|
|
||||||
\item* NOT FOUND : sqlca.sqlcode = +1403
|
|
||||||
\item NOT FOUND : on ne trouve pas le compte rendu d'ex\'ecution de la commande SQL
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{09-WHENEVER}
|
|
||||||
A quoi correspond la valeur du deuxi\`eme param\`etre (type d'action) ?
|
|
||||||
\item* STOP : arr\`ete le programme avec ROLLBACK
|
|
||||||
\item STOP : arr\`ete la commande SQL
|
|
||||||
\item* CONTINUE : continue le traitement m\^eme si la commande SQL est en erreur
|
|
||||||
\item* GOTO passe le contr\^ole du programme au label suivant cette valeur
|
|
||||||
\item GOTO passe le contr\^ole du programme au sous-programme GoKu
|
|
||||||
\item* DO appelle une fonction qui suit cette valeur
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{10-Indicateur}
|
|
||||||
A quoi sert un indicateur de variables ?
|
|
||||||
\item\`a indiquer la variable
|
|
||||||
\item* \`a pour travailler avec les valeurs NULL
|
|
||||||
\item* \`a connaitre lse valeurs particuil\`eres des variables
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{11-Indicateur}
|
|
||||||
Un indicateur de variable h\^ote doit ?
|
|
||||||
\item* \^etre du tye short
|
|
||||||
\item un indic
|
|
||||||
\item* \^etre pr\'ec\'ed\'e de ':' lorsqu'il est utilis\'e dans une requ\^ete SQL
|
|
||||||
\item* \^etre pr\'ec\'ed\'e par une variable h\^ote dans un ordre SQL
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[points=1]{12-Indicateur}
|
|
||||||
Quelles sont les bonnes associations valeur - explication pour une variable indicateur ?
|
|
||||||
\item 0 - pas d'enregistrement en base
|
|
||||||
\item* 0 - pas de probl\`emes
|
|
||||||
\item -1 - la valeur de la variable h\^ote associ\'e est NOT NULL
|
|
||||||
\item -1 - la valeur de la variable h\^ote associ\'e est NULL
|
|
||||||
\item >0 - la valeur retourn\'ee dans la variable h\^ote est enti\`ere
|
|
||||||
\item >0 - la valeur retourn\'ee dans la variable h\^ote est tronqu\'ee
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{13-Indicateur}
|
|
||||||
Quelles sont les instructions utilisant correctement l'indicateur indic-var ?
|
|
||||||
\item* EXEC SQL SELECT nomproduit INTO :varNomPdt:indic-var FROM Tproduit WHERE noproduit = 'P001';
|
|
||||||
\item EXEC SQL SELECT nomproduit INTO :indic-var FROM Tproduit WHERE noproduit = 'P001';
|
|
||||||
\item* IF (indic-var == -1){varNomPdt = ''}
|
|
||||||
\item* EXEC SQL UPDATE Tproduit SET nomproduit = :varNomPdt INDICATOR :indic-var;
|
|
||||||
\item EXEC SQL UPDATE Tproduit SET nomproduit = :varNomPdt:indic-var;
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{14-Curseur}
|
|
||||||
Quelle est la bonne d\'eclaration d'un curseur ?
|
|
||||||
\item EXEC SQL DECLARE nomCurs IS SELECT nomproduit FROM Tproduit;
|
|
||||||
\item* EXEC SQL DECLARE nomCurs FOR SELECT nomproduit FROM Tproduit;
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{15-Curseur}
|
|
||||||
Quelle est la bonne instruction d'ex\'ecution d'un curseur ?
|
|
||||||
\item EXEC SQL EXECUTE nomCurs;
|
|
||||||
\item* EXEC SQL OPEN nomCurs;
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{16-Curseur}
|
|
||||||
Quelle est la bonne instruction de lecture d'une ligne courante d'un curseur ?
|
|
||||||
\item* EXEC SQL FETCH nomCurs INTO :varNomPdt:indic-var;
|
|
||||||
\item* EXEC SQL FETCH nomCurs INTO :varNomPdt;
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{17-Curseur}
|
|
||||||
Comment sait-on qu'il n'y a plus de lignes dans la table du r\'esultat du curseur ?
|
|
||||||
\item sqlcode = 1401;
|
|
||||||
\item* sqlca.sqlcode = 1403;
|
|
||||||
\item nomCurs\%NOT FOUND;
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{18-Curseur}
|
|
||||||
Que retourne la lecture d'un curseur ferm\'e ?
|
|
||||||
\item la derni\`ere ligne lue du curseur
|
|
||||||
\item* une erreur;
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{19-Curseur}
|
|
||||||
Qu'est ce qu'implique l'ouverture d'un curseur ?
|
|
||||||
\item* la cr\'eation de la table contenant le r\'esultat de la requ\^ete associ\'ee \`a ce curseur
|
|
||||||
\item la lecture de sa premi\`ere ligne
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\begin{multi}[multiple, points=1]{20-Curseur}
|
|
||||||
Un curseur peut retourner combien de ligne ?
|
|
||||||
\item* 0
|
|
||||||
\item* 1
|
|
||||||
\item* >1
|
|
||||||
\end{multi}
|
|
||||||
|
|
||||||
\end{quiz}
|
|
||||||
\end{document}
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in new issue