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.

57 lines
1.4 KiB

DECLARE
didReservation char(3);
ddateReserv date;
dnom varchar2(20);
dancidReservation char(3);
dmessage varchar2(200);
inexistant exception;
dcpt number:=0;
dnb number:=0;
CURSOR cur IS SELECT idReservation, dateReserv, nom
FROM CONTENIR con, RESERVATION res, FAIRE fai, JOUEUR jou
WHERE con.idReserv = res.idReserv AND res.idReserv = fai.idReserv AND fai.idJoueur = jou.idJoueur
AND dateReserv >= SYSDATE AND con.idEquipement = '&videquip'
ORDER BY 1,2,3;
BEGIN
dmessage:='id équipement inexistant';
SELECT COUNT(*) INTO dcpt
FROM EQUIPEMENT
WHERE idEquipement='&videquip';
IF dcpt=0 THEN
RAISE inexistant;
ELSE
OPEN cur;
FETCH cur INTO didReservation, 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 didReservation, ddateReserv, dnom;
END LOOP;
END LOOP;
CLOSE cur;
INSERT INTO tresultat VALUES ('');
INSERT INTO tresultat VALUES ('Nombre de joueurs à prévenir : ' || TO_CHAR(dnb));
END IF;
EXCEPTION
WHEN inexistant THEN
INSERT INTO tresultat VALUES (dmessage);
END;