master
Pascal Lafourcade 5 years ago
parent 7b3ba43202
commit de3c4bbbaa

@ -112,7 +112,8 @@
Une requete qui Une requete qui
renvoie plein de donn\'ees.} 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 \newsavebox\dd
\begin{lrbox}{\dd} \begin{lrbox}{\dd}
\begin{minipage}{\textwidth} \begin{minipage}{\textwidth}
@ -157,8 +158,10 @@ SET feedback on;
lors qu'une erreur SQL se produit. lors qu'une erreur SQL se produit.
ou lorsque l utilisateur le decide} ou lorsque l utilisateur le decide}
\item (12 points) Donner un exemple de cr\'eation d'exception \code{MINEUR} \item (12 points) Donner un exemple de cr\'eation d'exception
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. \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 \newsavebox\avecalter
\begin{lrbox}{\avecalter} \begin{lrbox}{\avecalter}
\begin{minipage}{\textwidth} \begin{minipage}{\textwidth}
@ -183,7 +186,7 @@ END IF;
EXCEPTION EXCEPTION
WHEN MINEUR THEN WHEN MINEUR THEN
INSERT INTO tligne VALUES(); INSERT INTO tligne VALUES(Dnbmineur);
END; 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} \node (i) at (6,0) {\begin{varwidth}{1.5in}
\begin{tabular}{|l|} \begin{tabular}{|l|}
\hline \hline
\rowcolor{Gray}CONTRAT\\ \rowcolor{Gray}APPARTIENT\\
\hline \hline
\underline{id\_contrat}\\ \underline{id\_contrat}\\
\#id\_joueur\\ \#id\_joueur\\
@ -341,9 +344,10 @@ Le MLD ci-dessus stocke les donn\'ees des matchs NBA.
\begin{enumerate} \begin{enumerate}
\item (20 points) Lister dans une table \code{TLIGNES} tous les \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, 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 saisie par l'utilisateur, afficher leur nom, pr\'enom, poste et le
fait 0, 1, 2, 3, 4 ou 5 fautes, durant cette ann\'ee civile : nombres de match o\`u il a fait 0, 1, 2, 3, 4 ou 5 fautes, durant
cette ann\'ee civile :
\begin{center} \begin{center}
\begin{small} \begin{small}
\begin{verbatim} \begin{verbatim}
@ -439,7 +443,7 @@ SELECT * FROM tligne ;
\item (10 points) \'Ecrire un code PL/SQL qui permet de saisir un \item (10 points) \'Ecrire un code PL/SQL qui permet de saisir un
nouveau joueur en entrant les six champs n\'ecessaires. Lever une 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} \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 \item (15 points) \'Ecrire un code PL/SQL qui, pour un
\code{id\_joueur} saisi par l'utilisateur, liste dans une table \code{id\_joueur} saisi par l'utilisateur, liste dans une table
\code{TLIGNES} son maximum de points inscript lors d'un match. La \code{TLIGNES} son maximum de points inscrits lors d'un match durant
solution propos\'ee doit mettre en place {\bf deux} m\'ecanismes un toute sa carri\`ere. La solution propos\'ee doit mettre en place
{\bf avec} et un {\bf sans} \code{EXCEPTION} pour traiter les cas {\bf deux} m\'ecanismes un {\bf avec} et un {\bf sans}
d'erreurs suivants : \code{EXCEPTION} pour traiter les cas d'erreurs suivants :
\begin{itemize} \begin{itemize}
\item \code{'joueur inconnu'}, il n'y a pas le joueur dans la table \code{JOUEUR}, \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 \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)); INSERT INTO tligne VALUES ('Max points de'||'&vidjoueur'||' : '||to_char(dmaxpoint));
ELSE ELSE
INSERT INTO tligne VALUES('count detecte numero du joueur pas bon'); INSERT INTO tligne VALUES('count detecte numero du joueur pas bon');
end if;
SELECT id_joueur INTO didjoueur FROM JOUEUR SELECT id_joueur INTO didjoueur FROM JOUEUR
WHERE id_joueur ='&vidjoueur'; WHERE id_joueur ='&vidjoueur';
end if;
EXCEPTION EXCEPTION
when no_data_found then when no_data_found then

Loading…
Cancel
Save