From a85033752c15106ac89dbb6194f4830699616bf0 Mon Sep 17 00:00:00 2001 From: pascal Date: Sun, 7 Mar 2021 21:02:16 +0100 Subject: [PATCH] exo4 --- EXOS/Exam2020-all.tex | 2 +- EXOS/exo4-PL.sql | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 EXOS/exo4-PL.sql diff --git a/EXOS/Exam2020-all.tex b/EXOS/Exam2020-all.tex index ab7bf48..3d801e6 100644 --- a/EXOS/Exam2020-all.tex +++ b/EXOS/Exam2020-all.tex @@ -807,7 +807,7 @@ NumCreneau: XXXXX heure début : X Benefice :9999€ nb joueurs : 9999 \end{small} } \end{center} -%\lstinputlisting{exo4-PL.sql} +\lstinputlisting{exo4-PL.sql} \end{exercice} diff --git a/EXOS/exo4-PL.sql b/EXOS/exo4-PL.sql new file mode 100644 index 0000000..79f315c --- /dev/null +++ b/EXOS/exo4-PL.sql @@ -0,0 +1,37 @@ +drop table tresultat purge; +create table tresultat(ligne varchar2(200)); + +declare +dnumCreneau varchar2(10); +dhdebut number; +dbenef number; +dnbjoueur number; + +dmessage varchar2(200); +inexistant exception; +probleme exception; +dcpt number; +dnb number:=0; +cursor CUR is select CR.numcreneau, CR.hdebut, sum(F.tarifhoraire*R.nbjoueur)+sum(E.tarif*C.nombre), sum(nbjoueur) + from creneau CR, facturer F, contenir C, reservation R, equipement E + WHERE E.idequipement = C.idequipement + AND R.idReserv = C.idReserv + AND CR.numcreneau = R.numcreneau + order by 2; + +begin +open CUR; +fetch cur into dnumCreneau, dhdenut, dbenef, dnbjoueur ; +while cur%FOUND +loop + insert into tresultat values('NumCreneau:'||dnumCreneau||' hdebut :'||'Heure debut:'||dhdebut ||' Benefice:'||dbenef||' Nb joueurs'||dnbjoueur); + fetch cur into dnumCreneau, dhdenut, dbenef, dnbjoueur ; +end loop; +close CUR; +end; +. +/ +select * from tresultat; + + +