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.

61 lines
1.6 KiB

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;
dcpt number;
dnb number:=0;
cursor CUR is select C.numCreneau, 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;
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 dnumCreneau,dheureDebut, didReserv, ddateReserv;
while cur%FOUND
loop
insert into tresultat values('Numero creneau:'||dnumCreneau||' 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;
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);
when probleme then insert into tresultat values (dmessage);
end;
.
/
select * from tresultat;