diff --git a/QUIZZ/2020-BD_PROC_Cours-1_a_1-4.tex b/QUIZZ/2020-BD_PROC_Cours-1_a_1-4.tex new file mode 100644 index 0000000..854a258 --- /dev/null +++ b/QUIZZ/2020-BD_PROC_Cours-1_a_1-4.tex @@ -0,0 +1,152 @@ +\documentclass[12pt]{article} +\usepackage{moodle} +%\usepackage{sanssolmoodle} + + +\begin{document} + +\begin{quiz}{Quizz Cours PRO*C, Chapitre 1 a 1.4} + + +\begin{multi}[multiple, points=1]{01-Interface PRO*C} +Le PRO*C c'est : +\item* une interface entre le langage C et le SGBD Oracle +\item le Professionnel Etoile C +\item* une interface de pr\'ecompilation o\`u les ordres SQL pr\'esents dans le code C sont traduits par un pr\'ecompilateur +\item une interface entre un PROfessionnel et un Client +\end{multi} + +\begin{multi}[points=1]{02-Structure} +Un fichier PRO*C se structure de la m\^eme mani\`ere qu'un fichier C ? +\item* VRAI +\item FAUX +\end{multi} + +\begin{multi}[multiple, points=1]{03-Structure} +Pour acc\`eder aux donn\'ees de la base de donn\'ees que faut-il faire ? +\item* mettre en place la connexion et d\'econnexion \`a la base de donn\'ees +\item Prendre Rapidement en Otage le Client +\item* Se servir de commandes SQL (SELECT, INSERT, ...) +\end{multi} + +\begin{multi}[multiple, points=1]{04-INCLUDE} +Quelle structure C doit-on inclure dans le programme PRO*C pour connaitre les r\'esultats d'un ordre SQL? +\item Aucune +\item* SQLCA.H +\item PL/SQL +\end{multi} + +\begin{multi}[multiple, points=1]{05-INCLUDE} +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-Variables} +La d\'eclaration des variables h\^otes s'effectue exactement comme en C ? +\item* VRAI +\item FAUX +\end{multi} + +\begin{multi}[multiple, points=1]{07-Variables} +Les variables h\^otes sont utilis\'ees o\`u ? +\item uniquement dans les ordres SQL +\item* dans les ordres SQL et dans le programme C +\end{multi} + +\begin{multi}[multiple, points=1]{08-Variables} +Les d\'eclarations ci-dessous sont-elles justes ?\\ +int vnbOccurence;\\ +VARCHAR vNom[31]; +\item* VRAI +\item FAUX +\end{multi} + +\begin{multi}[multiple, points=1]{09-Variables} +Quelles sont les variables qui sont bien utilis\'ees ? +\item DATE +\item FROM +\item* EXEC SQL SELECT fonction INTO :vfonction FROM TEmploi WHERE noEmp = 501; +\item* EXEC SQL UPDATE TEmploi SET salaire = :vSalaire WHERE noEmp = 501; +\item EXEC SQL UPDATE TEmploi SET salaire = vSalaire WHERE noEmp = 501; +\end{multi} + +\begin{multi}[multiple, points=1]{10-Variables} +Quelles sont les affirmations ci-dessous qui sont vraies ? +\item int peut \^etre utilis\'e en C pour recevoir la valeur d'une colonne NUMBER(10,2) +\item* float peut \^etre utilis\'e en C pour recevoir la valeur d'une colonne NUMBER(10,2) +\item* int peut \^etre utilis\'e en C pour recevoir la valeur d'une colonne NUMBER(10) +\end{multi} + +\begin{multi}[multiple, points=1]{11-Connexion} +Que doit-on passer \`a l'instruction CONNECT comme param\`etre ? +\item* le login +\item la connexion +\item* le mot de passe +\item* le nom du serveur h\^ote +\end{multi} + +\begin{multi}[points=1]{12-Connexion} +Que doit-on faire pour s'assurer que la connexion soit viable ? +\item afficher \`a l'utilisateur le message Connexion r\'eussie avec succ\`es. +\item* tester que la variable sqlcq.sqlcode soit bien \'egale \`a 0 +\end{multi} + +\begin{multi}[multiple, points=1]{13-Deconnexion} +Quel est le but de la fonction d\'econnexion ? +\item* ex\'ecuter le COMMIT si tout c'est bien pass\'e +\item rajouter du code \`a mon programme +\item* ex\'ecuter le ROLLBACK s'il y a une erreur +\end{multi} + +\begin{multi}[multiple, points=1]{14-Corps de l'application} +Comment int\'egrer une instruction SQL de cr\'eation de table dans le programme PRO*C ? +\item CREATE TABLE TLigne(ligne VARCHAR2(200)); +\item* EXEC SQL CREATE TABLE TLigne(ligne VARCHAR2(200)); +\end{multi} + +\begin{multi}[multiple, points=1]{15-Corps de l'application} +Comment int\'egrer une instruction SQL d'insertion d'une ligne dans une table dans le programme PRO*C ? +\item INSERT INTO TLigne VALUES('TEST'); +\item* EXEC SQL INSERT INTO TLigne VALUES('TEST'); +\item* EXEC SQL INSERT INTO TLigne(ligne) VALUES('TEST'); +\end{multi} + +\begin{multi}[multiple, points=1]{16-Corps de l'application} +Comment int\'egrer une instruction SQL de mise \`a jour d'une ligne dans une table dans le programme PRO*C ? +\item* EXEC SQL UPDATE TLigne SET ligne = 'TEST2' WHERE ligne = 'TEST'; +\item UPDATE TLigne SET ligne = 'TEST2' WHERE ligne = 'TEST'; +\end{multi} + +\begin{multi}[multiple, points=1]{17-Corps de l'application} +Comment int\'egrer une instruction SQL de suppression d'une ligne dans une table dans le programme PRO*C ? +\item* EXEC SQL DELETE FROM TLigne WHERE ligne = 'TEST'; +\item DELETE FROM TLigne WHERE ligne = 'TEST'; +\end{multi} + +\begin{multi}[multiple, points=1]{18-Corps de l'application} +Comment int\'egrer une instruction SQL de suppression d'une table dans le programme PRO*C ? +\item DROP TABLE TLigne PURGE; +\item* EXEC SQL DROP TABLE TLigne; +\end{multi} + +\begin{multi}[multiple, points=1]{19-Corps de l'application} +Comment int\'egrer une instruction SQL pour s\'electionner une ligne d'une table dans le programme PRO*C ? +\item* EXEC SQL SELECT fonction INTO :vfonction FROM TEmploi WHERE noEmp = 501; +\item EXEC SQL SELECT fonction FROM TEmploi WHERE noEmp = 501; +\item SELECT fonction INTO :vfonction FROM TEmploi WHERE noEmp = 501; +\end{multi} + +\begin{multi}[multiple, points=1]{20-Corps de l'application} +Quelles sont les instructions ci-dessous qui sont justes ? +\item* EXEC SQL TRUNCATE TABLE TEmploi; +\item EXEC SQL SELECT fonction INTO :vfonction FROM TEmploi; +\item* EXEC SQL UPDATE TLigne SET ligne = 'TEST2' WHERE ligne = 'TEST'; +\item EXEC SQL UPDATE TLigne SET ligne = vligne WHERE ligne = 'TEST'; +\end{multi} + +\end{quiz} +\end{document} + +