|
|
|
@ -591,12 +591,101 @@ set echo on;
|
|
|
|
|
%% \BUseVerbatim{Allstar}
|
|
|
|
|
%% \end{footnotesize}
|
|
|
|
|
%% }
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
\end{exercice}
|
|
|
|
|
\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 :
|
|
|
|
|
\begin{center}
|
|
|
|
|
\begin{small}
|
|
|
|
|
\begin{verbatim}
|
|
|
|
|
EQUIPE XXX
|
|
|
|
|
Nom Prenom Poste
|
|
|
|
|
XXXXXX XXXXXXX XXXXXX 0
|
|
|
|
|
Fautes Nb Matchs
|
|
|
|
|
0 YYY
|
|
|
|
|
1 YYY
|
|
|
|
|
2 YYY
|
|
|
|
|
3 YYY
|
|
|
|
|
4 YYY
|
|
|
|
|
5 YYY
|
|
|
|
|
|
|
|
|
|
XXXXXX XXXXXXX XXXXXX 0
|
|
|
|
|
Fautes Nb Matchs
|
|
|
|
|
0 YYY
|
|
|
|
|
1 YYY
|
|
|
|
|
2 YYY
|
|
|
|
|
3 YYY
|
|
|
|
|
4 YYY
|
|
|
|
|
5 YYY
|
|
|
|
|
\end{verbatim}
|
|
|
|
|
\end{small}
|
|
|
|
|
\end{center}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\begin{SaveVerbatim}{eqpts}
|
|
|
|
|
variable equipe char(4)
|
|
|
|
|
prompt Entrer une equipe
|
|
|
|
|
accept vequipe
|
|
|
|
|
|
|
|
|
|
variable vannee number
|
|
|
|
|
prompt Entrer une annee
|
|
|
|
|
accept vannee
|
|
|
|
|
|
|
|
|
|
DECLARE
|
|
|
|
|
dnom varchar2(20);
|
|
|
|
|
dprenom varchar2(20);
|
|
|
|
|
dposte char(2);
|
|
|
|
|
didjoueur NUMNER;
|
|
|
|
|
dnbfautes number;
|
|
|
|
|
dcpt number;
|
|
|
|
|
|
|
|
|
|
CURSOR Cnom IS SELECT j.idjoueur, j.Nom, j.Prenom, j.Poste FROM JOUEUR j,
|
|
|
|
|
JOUE e, MATCH m WHERE j.id_joueur = e.id_joueur and id
|
|
|
|
|
AND ( m.Date_Match > TO_DATE('01/01/'||'&vannee',DD/MM/YYYY) AND
|
|
|
|
|
m.Date_Match < TO_DATE('12/31/'||'&vannee',DD/MM/YYYY) );
|
|
|
|
|
|
|
|
|
|
CURSOR Cfaute IS SELECT COUNT(ID_match) FROM JOUE
|
|
|
|
|
WHERE id_joueur = didjoueur
|
|
|
|
|
GROUP BY FAUTES;
|
|
|
|
|
|
|
|
|
|
BEGIN
|
|
|
|
|
INSERT INTO tligne VALUES ('Nom Prenom Poste');
|
|
|
|
|
OPEN Cnom;
|
|
|
|
|
FETCH Cnom INTO didjoueur, dnom, dprenom, dposte;
|
|
|
|
|
WHILE Cnom%found LOOP
|
|
|
|
|
INSERT INTO tligne VALUES (dnom||' '||dprenom||' '||dposte);
|
|
|
|
|
OPEN Cfaute;
|
|
|
|
|
|
|
|
|
|
dcpt:=0;
|
|
|
|
|
INSERT INTO tligne VALUES (Faute Nn Matchs);
|
|
|
|
|
FETCH Cfaute INTO dnbfaute;
|
|
|
|
|
WHILE Couest%found LOOP
|
|
|
|
|
INSERT INTO tligne VALUES (dcpt||' '||dnbfaute);
|
|
|
|
|
dcpt:=dcpt+1;
|
|
|
|
|
FETCH Cfaute INTO dnbfaute;
|
|
|
|
|
END LOOP;
|
|
|
|
|
CLOSE Cfaute;
|
|
|
|
|
|
|
|
|
|
FETCH Cnom INTO didjoueur, dnom, dprenom, dposte;
|
|
|
|
|
END LOOP;
|
|
|
|
|
CLOSE Cnom;
|
|
|
|
|
|
|
|
|
|
END;
|
|
|
|
|
.
|
|
|
|
|
/
|
|
|
|
|
SELECT * FROM tligne ;
|
|
|
|
|
\end{SaveVerbatim}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\cache{\begin{footnotesize}
|
|
|
|
|
\BUseVerbatim{eqpts}
|
|
|
|
|
\end{footnotesize}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
\end{exercice}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|