|
|
|
@ -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
|
|
|
|
|