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.

40 lines
1.0 KiB

declare
didEquip char(2):='&vidEquip';
didReserv char(3);
dmessage varchar2(200);
inexistant exception;
dcpt number;
dcptReserv number;
cursor R is select idReservation from reservation R, contenir C where R.idReservation=C.idReservation
and dateReserv>='01-mar-21' and dateReserv<='31-mar-21' and C.idEquipement=didEquip;
begin
dmessage:='l''identifiant de l''equipement est inconnu';
select count(*) into dcpt
from equipement
where idEquipement=didEquip;
if dcpt=0
then raise inexistant;
else dcptReserv:=0;
open R;
fetch R into didReservation;
while R%found
loop
delete from contenir
where idReservation=didReservation;
delete from faire
where idReservation = didReservation;
delete from reservation where idReservation= didReservation;
dcptReserv:=dcptReserv+1;
fetch R into didReservation;
end loop;
close R;
insert into tresultat values(to_char(dcptReserv)||' réservations ont été supprimées');
commit;
end if;
exception
when inexistant then insert into tresultat values (dmessage);
end;