diff --git a/EXOS/Partiel2020.tex b/EXOS/Partiel2020.tex index 3e2f5e7..0c752cc 100644 --- a/EXOS/Partiel2020.tex +++ b/EXOS/Partiel2020.tex @@ -112,7 +112,8 @@ Une requete qui renvoie plein de donn\'ees.} - \item (12 points) Donner un exemple simple d'utilisation d'un curseur. + \item (12 points) Cr\'eer un curseur permettant de traiter l'exemple + de la question pr\'ec\'edente. \newsavebox\dd \begin{lrbox}{\dd} \begin{minipage}{\textwidth} @@ -157,8 +158,10 @@ SET feedback on; lors qu'une erreur SQL se produit. ou lorsque l utilisateur le decide} - \item (12 points) Donner un exemple de cr\'eation d'exception \code{MINEUR} - qui est lev\'ee si la table \code{ETUDIANT (NOM VARCHA2(100), AGE NUMBER);} contient au moins un mineur et affiche le nombre de mineurs. + \item (12 points) Donner un exemple de cr\'eation d'exception + \code{MINEUR} qui est lev\'ee si la table \code{ETUDIANT (NOM + VARCHA2(100), AGE NUMBER);} contient au moins un mineur + (personne de moins de 18 ans) et affiche le nombre de mineurs. \newsavebox\avecalter \begin{lrbox}{\avecalter} \begin{minipage}{\textwidth} @@ -183,7 +186,7 @@ END IF; EXCEPTION WHEN MINEUR THEN -INSERT INTO tligne VALUES(); +INSERT INTO tligne VALUES(Dnbmineur); END; @@ -241,7 +244,7 @@ joueur ne peut pas \^etre en activit\'e dans deux \'equipes en m\^eme temps. \node (i) at (6,0) {\begin{varwidth}{1.5in} \begin{tabular}{|l|} \hline -\rowcolor{Gray}CONTRAT\\ +\rowcolor{Gray}APPARTIENT\\ \hline \underline{id\_contrat}\\ \#id\_joueur\\ @@ -341,9 +344,10 @@ Le MLD ci-dessus stocke les donn\'ees des matchs NBA. \begin{enumerate} \item (20 points) Lister dans une table \code{TLIGNES} tous les - joueurs d'un \'equipe donn\'ee par l'utilisateur et d'une ann\'ee, - afficher leur nom, pr\'enom, poste et le nombres de match o\`u il a - fait 0, 1, 2, 3, 4 ou 5 fautes, durant cette ann\'ee civile : + joueurs d'un \'equipe donn\'ee par l'utilisateur et d'une ann\'ee + saisie par l'utilisateur, afficher leur nom, pr\'enom, poste et le + nombres de match o\`u il a fait 0, 1, 2, 3, 4 ou 5 fautes, durant + cette ann\'ee civile : \begin{center} \begin{small} \begin{verbatim} @@ -439,7 +443,7 @@ SELECT * FROM tligne ; \item (10 points) \'Ecrire un code PL/SQL qui permet de saisir un nouveau joueur en entrant les six champs n\'ecessaires. Lever une - exception la clef primaire saisie n'est pas valide. + exception si la clef primaire saisie n'est pas valide. \begin{SaveVerbatim}{saisie} @@ -503,10 +507,10 @@ set echo on; set verify on; set feedback on; \item (15 points) \'Ecrire un code PL/SQL qui, pour un \code{id\_joueur} saisi par l'utilisateur, liste dans une table - \code{TLIGNES} son maximum de points inscript lors d'un match. La - solution propos\'ee doit mettre en place {\bf deux} m\'ecanismes un - {\bf avec} et un {\bf sans} \code{EXCEPTION} pour traiter les cas - d'erreurs suivants : + \code{TLIGNES} son maximum de points inscrits lors d'un match durant + toute sa carri\`ere. La solution propos\'ee doit mettre en place + {\bf deux} m\'ecanismes un {\bf avec} et un {\bf sans} + \code{EXCEPTION} pour traiter les cas d'erreurs suivants : \begin{itemize} \item \code{'joueur inconnu'}, il n'y a pas le joueur dans la table \code{JOUEUR}, \item \code{'joueur n a pas fait de match'}, il n'apparait pas @@ -539,10 +543,10 @@ WHERE id_joueur ='&vidjoueur'; INSERT INTO tligne VALUES ('Max points de'||'&vidjoueur'||' : '||to_char(dmaxpoint)); ELSE INSERT INTO tligne VALUES('count detecte numero du joueur pas bon'); +end if; SELECT id_joueur INTO didjoueur FROM JOUEUR WHERE id_joueur ='&vidjoueur'; -end if; EXCEPTION when no_data_found then