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.

69 lines
1.7 KiB

drop table tresultat purge;
create table tresultat(ligne varchar2(200));
variable vidReserv char(3)
prompt id Reservation?
accept vidReserv
variable vdateReserv char(9)
prompt date reservation?
accept vdateReserv
variable vnbJoueurs number
prompt nombre joueurs?
accept vnbJoueurs
variable vidTerrain char(5)
prompt id Terrain?
accept vidTerrain
variable vnumCreneau char(2)
prompt num Creneau?
accept vnumCreneau
declare
didReserv char(3):='&vidReserv';
ddateReserv date:=to_date('&vdateReserv', 'dd-mon-yy');
dnbJoueurs number:=&vnbJoueurs;
didTerrain char(5):='&vidTerrain';
dnumCreneau char(2):='&vnumCreneau';
dmessage varchar2(200);
probleme exception;
dcpt number;
begin
dmessage:='ERREUR: id réservation déjà attribué';
select count(*) into dcpt
from reservation
where idReserv=didReserv;
if dcpt=1
then insert into tresultat values (dmessage);
else dmessage:='La date de réservation doit être postérieure à la date du jour';
if ddateReserv < sysdate
then raise probleme;
else dmessage:='l''identifiant du terrain est inconnu';
select count(*) into dcpt
from terrain
where idTerrain=didTerrain;
id dcpt=0 then raise probleme;
else
dmessage:='l''identifiant du créneau est inconnu';
select count(*) into dcpt
from creneau
where numCreneau=dnumCreneau;
id dcpt=0 then raise probleme;
else
insert into reservation values(didReserv, ddateReserv, dnbJoueurs, didTerrain, dnumCreneau);
commit;
insert into tresultat values ('La réservation a été enregistrée :');
end if;
end if;
end if;
exception
when probleme then insert into tresultat values (dmessage);
end;
.
/
select * from tresultat;