diff --git a/EXOS/Partiel2020.tex b/EXOS/Partiel2020.tex index 9cd99d8..ebeef26 100644 --- a/EXOS/Partiel2020.tex +++ b/EXOS/Partiel2020.tex @@ -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}