You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.3 KiB

declare
dnomSport varchar2(10):='&vnomsport';
didReserv char(3);
ddateReserv date;
dheureDebut number;
dancienheureDebut char(3);
dmessage varchar2(200);
inexistant exception;
dcpt number;
dnb number:=0;
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 1,3;
begin
dmessage:='nom du sport inexistant';
select count(*) into dcpt
from sport
where nomSport=dnomSport;
if dcpt=0
then raise inexistant;
else
open cur;
fetch cur into dheureDebut, didReserv, ddateReserv;
while cur%FOUND
loop
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 dheureDebut, didReserv, ddateReserv;
end loop;
end loop;
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);
end;