master
Pascal LAFOURCADE 4 years ago
parent b0d63a09b5
commit 9c5d59bc51

@ -523,7 +523,7 @@ Messages à prévoir :
\item Léquipement a été enregistré : Libellé \item Léquipement a été enregistré : Libellé
\end{itemize} \end{itemize}
% \lstinputlisting{exo1-FG.sql} % \lstinputlisting{exo1-FGL.sql}
\end{exercice} \end{exercice}
\begin{exercice}[PL1] (10 points) \begin{exercice}[PL1] (10 points)
@ -579,7 +579,7 @@ Messages à prévoir :
\item nb réservations passées ont été supprimées \item nb réservations passées ont été supprimées
\end{itemize} \end{itemize}
% \lstinputlisting{exo2-FG.sql} %\lstinputlisting{exo2-FGL.sql}
\end{exercice} \end{exercice}
\begin{exercice}[PL2] (15 points) \begin{exercice}[PL2] (15 points)
@ -685,7 +685,7 @@ Nombre de joueurs à prévenir : nb
\fbox{ \BUseVerbatim{AffichageFG}} \fbox{ \BUseVerbatim{AffichageFG}}
\end{center} \end{center}
%\lstinputlisting{exo3-FG.sql} %\lstinputlisting{exo3-FGL.sql}
\end{exercice} \end{exercice}
\begin{exercice}[PL3] (20 points) \begin{exercice}[PL3] (20 points)
@ -785,7 +785,7 @@ Id réservation : XXXXX date : XX/XX/XX Coût des équipements : 9999€
} }
\end{center} \end{center}
% \lstinputlisting{exo4-FG.sql} \lstinputlisting{exo4-FGL.sql}
\end{exercice} \end{exercice}

@ -2,11 +2,11 @@
create table tresultat(ligne varchar2(200)); create table tresultat(ligne varchar2(200));
variable vidEquipement char(3) variable vidEquipement char(3)
prompt id de l'équipement prompt id de l equipement
accept vidEquipement accept vidEquipement
variable vtarif number variable vtarif number
prompt le tarif de l'équipement ? prompt le tarif de l equipement ?
accept vtarif accept vtarif
variable vlibelle VARCHAR2(20) variable vlibelle VARCHAR2(20)

@ -1,56 +1,56 @@
 
DECLARE DECLARE
didReservation char(3); didReservation char(3);
ddateReserv date; ddateReserv date;
dnom varchar2(20); dnom varchar2(20);
dancidReservation char(3); dancidReservation char(3);
dmessage varchar2(200); dmessage varchar2(200);
inexistant exception; inexistant exception;
dcpt number:=0; dcpt number:=0;
dnb number:=0; dnb number:=0;
CURSOR cur IS SELECT idReservation, dateReserv, nom CURSOR cur IS SELECT idReservation, dateReserv, nom
FROM CONTENIR con, RESERVATION res, FAIRE fai, JOUEUR jou FROM CONTENIR con, RESERVATION res, FAIRE fai, JOUEUR jou
WHERE con.idReserv = res.idReserv AND res.idReserv = fai.idReserv AND fai.idJoueur = jou.idJoueur WHERE con.idReserv = res.idReserv AND res.idReserv = fai.idReserv AND fai.idJoueur = jou.idJoueur
AND dateReserv >= SYSDATE AND con.idEquipement = '&videquip' AND dateReserv >= SYSDATE AND con.idEquipement = '&videquip'
ORDER BY 1,2,3; ORDER BY 1,2,3;
BEGIN BEGIN
dmessage:='id équipement inexistant'; dmessage:='id équipement inexistant';
SELECT COUNT(*) INTO dcpt SELECT COUNT(*) INTO dcpt
FROM EQUIPEMENT FROM EQUIPEMENT
WHERE idEquipement='&videquip'; WHERE idEquipement='&videquip';
IF dcpt=0 THEN IF dcpt=0 THEN
RAISE inexistant; RAISE inexistant;
ELSE ELSE
OPEN cur; OPEN cur;
FETCH cur INTO didReservation, ddateReserv, dnom; FETCH cur INTO didReservation, ddateReserv, dnom;
WHILE cur%FOUND WHILE cur%FOUND
LOOP LOOP
INSERT INTO tresultat VALUES ('idReservation:' || didReservation || ' date:' || TO_CHAR(ddateReserv, 'dd/mm/yy')); INSERT INTO tresultat VALUES ('idReservation:' || didReservation || ' date:' || TO_CHAR(ddateReserv, 'dd/mm/yy'));
dancidReservation:=didReservation; dancidReservation:=didReservation;
WHILE dancidReservation=didReservation AND cur%FOUND WHILE dancidReservation=didReservation AND cur%FOUND
LOOP LOOP
INSERT INTO tresultat VALUES (dnom); INSERT INTO tresultat VALUES (dnom);
dnb := dnb+1; dnb := dnb+1;
FETCH cur INTO didReservation, ddateReserv, dnom; FETCH cur INTO didReservation, ddateReserv, dnom;
END LOOP; END LOOP;
END LOOP; END LOOP;
CLOSE cur; CLOSE cur;
INSERT INTO tresultat VALUES (''); INSERT INTO tresultat VALUES ('');
INSERT INTO tresultat VALUES ('Nombre de joueurs à prévenir : ' || TO_CHAR(dnb)); INSERT INTO tresultat VALUES ('Nombre de joueurs à prévenir : ' || TO_CHAR(dnb));
END IF; END IF;
EXCEPTION EXCEPTION
WHEN inexistant THEN WHEN inexistant THEN
INSERT INTO tresultat VALUES (dmessage); INSERT INTO tresultat VALUES (dmessage);
END; END;

@ -1,29 +1,26 @@

DECLARE DECLARE
didReserv char(5); didReserv char(5);
ddateReserv date; ddateReserv date;
dcout number; dcout number;
CURSOR cur IS SELECT idReserv, dateReserv, SUM(nombre*tarif) CURSOR cur IS SELECT idReserv, dateReserv, SUM(nombre*tarif)
FROM RESERVATION res, CONTENIR con, EQUIPEMENT equ FROM RESERVATION res, CONTENIR con, EQUIPEMENT equ
WHERE con.idReserv = res.idReserv AND con.idEquipement = equi.idEquipement WHERE con.idReserv = res.idReserv AND con.idEquipement = equi.idEquipement
group by idReserv, dateReserv group by idReserv, dateReserv
order by 2 DESC; order by 2 DESC;
BEGIN BEGIN
OPEN cur; OPEN cur;
FETCH cur INTO didReserv, ddateReserv, dcout; FETCH cur INTO didReserv, ddateReserv, dcout;
WHILE cur%FOUND WHILE cur%FOUND
LOOP LOOP
INSERT INTO tresultat VALUES ('Id reservation : ' || didReserv || ' date : ' || TO_CHAR(ddateReserv,'dd/mm/yy') || ' Coût des équipements : ' || TO_CHAR(dcout) || ''); INSERT INTO tresultat VALUES ('Id reservation : ' || didReserv || ' date : ' || TO_CHAR(ddateReserv,'dd/mm/yy') || ' Cout des uquipements : ' || TO_CHAR(dcout) || 'euros');
INSERT INTO tresultat VALUES (''); INSERT INTO tresultat VALUES ('');
FETCH cur INTO didReserv, ddateReserv, dcout; FETCH cur INTO didReserv, ddateReserv, dcout;
END LOOP; END LOOP;
CLOSE cur; CLOSE cur;
END; END;

Loading…
Cancel
Save