Pascal LAFOURCADE 4 years ago
parent 15ed58af78
commit 59f06dd0cd

@ -1,9 +1,3 @@
drop table tresultat purge;
create table tresultat(ligne varchar2(200));
variable vidJoueur char(2);
prompt id joueur?
accept vidJoueur
declare
didJoueur char(2):='&vidJoueur';
@ -49,9 +43,7 @@ begin
when inexistant then insert into tresultat values (dmessage);
when probleme then insert into tresultat values (dmessage);
end;
.
/
select * from tresultat;

@ -1,28 +1,20 @@
drop table tresultat purge;
create table tresultat(ligne varchar2(200));
variable vnomsport varchar2(10)
prompt nom du sport?
accept vnomsport
declare
dnomSport varchar2(10):='&vnomsport';
didReserv char(3);
ddateReserv date;
dheureDebut number;
dnumCreneau char(2);
dancienheureDebut char(3);
dmessage varchar2(200);
inexistant exception;
probleme exception;
inexistant exception;
dcpt number;
dnb number:=0;
cursor CUR is select C.numCreneau, heureDebut, idReserv, dateReserv
cursor cur is select heureDebut, idReserv, dateReserv
from creneau C, reservation R, terrain T, sport S
where S.nomSport = dnomSport
and S.nomSport=T.nomSport
and T.idTerrain=R.idTerrain
and R.numCreneau=C.numCreneau
order by 2,4;
order by 1,3;
begin
dmessage:='nom du sport inexistant';
select count(*) into dcpt
@ -31,30 +23,26 @@ begin
if dcpt=0
then raise inexistant;
else
open CUR;
fetch cur into dnumCreneau,dheureDebut, didReserv, ddateReserv;
open cur;
fetch cur into dheureDebut, didReserv, ddateReserv;
while cur%FOUND
loop
insert into tresultat values('Numero creneau:'||dnumCreneau||' heure de début:'||to_char(dheureDebut));
insert into tresultat values('heure de début:'||to_char(dheureDebut));
dancienheureDebut:=dheureDebut;
while dancienheureDebut=dheureDebut and cur%FOUND
loop
insert into tresultat values (didReserv||' date:'||ddateReserv);
dnb:=dnb+1;
fetch cur into dnumCreneau, dheureDebut, didReserv, ddateReserv;
fetch cur into dheureDebut, didReserv, ddateReserv;
end loop;
end loop;
close CUR;
close cur;
insert into tresultat values ('Nombre de réservations total pour ce sport : '||to_char(dnb));
end if;
exception
when inexistant then insert into tresultat values (dmessage);
when probleme then insert into tresultat values (dmessage);
end;
.
/
select * from tresultat;

@ -0,0 +1,47 @@
declare
didTerrain char(3):='T03';
didReserv char(3);
ddateReserv date;
dnom varchar2(20);
dancidReservation char(3);
dmessage varchar2(200);
inexistant exception;
dcpt number;
dnb number:=0;
cursor cur is select idReserv, dateReserv, nom
from reservation R, faire F, joueur J
where R.idReservation = F.idReservation
and J.idJoueur=F.idJoueur
and R.idTerrain=didTerrain
order by 2,3;
begin
dmessage:='id Terrain inexistant';
select count(*) into dcpt
from terrain
where idTerrain=didTerrain;
if dcpt=0
then raise inexistant;
else
open cur;
fetch cur into didReserv, ddateReserv, dnom;
while cur%FOUND
loop
insert into tresultat values('idReservation:'||didReservation||' date:'||to_char(ddateReserv, 'dd/mm/yy'));
dancidReservation:=didReservation;
while dancidReservation=didReservation and cur%FOUND
loop
insert into tresultat values (dnom);
dnb:=dnb+1;
fetch cur into didReserv, ddateReserv, dnom;
end loop;
end loop;
close cur;
insert into tresultat values ('Nombre de joueurs à prévenir : '||to_char(dnb));
end if;
exception
when inexistant then insert into tresultat values (dmessage);
end;

@ -0,0 +1,32 @@
declare
dnomSport varchar(10);
didReserv char(5);
dheureDebut number;
dduree number;
dtarifHoraire number;
dcout number;
cursor CUR is select idReserv, heureDebut, duree, tarifHoraire, duree*tarifHoraire
from creneau C, reservation R, terrain T, sport S, facturer F
where S.nomSport = F.nomsport
and S.nomSport=T.nomSport
and T.idTerrain=R.idTerrain
and R.numCreneau=C.numCreneau
and F.numCreneau=C.numCreneau
order by 5 desc;
begin
open CUR;
fetch CUR into didReserv, dheureDebut, dduree, dtarifHoraire, dcout;
while CUR%FOUND
loop
insert into tresultat values('Id reservation:'||ddidReserv||' heure de début:'||to_char(dheureDebut)||' durée:'||to_char(dduree)||' tarif horaire:'||
to_char(dtarifHoraire)||' cout du terrain:'||to_char(dcout)||'');
fetch CUR into didReserv, dheureDebut, dduree, dtarifHoraire, dcout;
end loop;
end loop;
close CUR;
end;

@ -0,0 +1,29 @@
declare
didReserv char(5);
ddateReserv date;
dnb number;
dcpt number:=0;
dtotnb number:=0;
cursor CUR is select idReserv, count(*)
from faire
group by idReserv
order by 2;
begin
open CUR;
fetch CUR into didReserv, dnb;
while CUR%FOUND
loop
select dateReserv into ddateReserv from reservation where idReservation=didReserv;
insert into tresultat values('Id reservation:'||ddidReserv||' date:'||to_char(ddateReserv,'dd/mm/yy')||' nombre de joueurs:'||to_char(dnb));
dtotnb:=dtotnb+dnb;
dcpt:=dcpt+1;
fetch CUR into didReserv, dnb;
end loop;
end loop;
close CUR;
insert into tresultat values('Nombre de joueur moyen par réservation :'||to_char(dtotnb/dcpt));
end;
Loading…
Cancel
Save