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.
51 lines
1.5 KiB
51 lines
1.5 KiB
DECLARE
|
|
|
|
dmessage varchar2(200);
|
|
inexistant exception;
|
|
dcpt number;
|
|
dcptReserv number;
|
|
|
|
BEGIN
|
|
|
|
dmessage := 'l''identifiant de l''equipement est inconnu';
|
|
SELECT COUNT(*) INTO dcpt
|
|
FROM equipement
|
|
WHERE idEquipement = '&videquip';
|
|
|
|
IF dcpt=0 THEN
|
|
RAISE inexistant;
|
|
ELSE
|
|
SELECT COUNT(*) INTO dcptReserv FROM CONTENIR con, RESERVATION res
|
|
WHERE con.idReserv = res.idReserv
|
|
AND dateReserv >= SYSDATE AND con.idEquipement = '&videquip';
|
|
|
|
dmessage := 'Des réservations en cours ou à venir utilisent cet équipement';
|
|
|
|
IF dcptReserv > 0 THEN
|
|
RAISE resaExiste;
|
|
ELSE
|
|
|
|
SELECT COUNT(*) INTO dcptReserv FROM CONTENIR con, RESERVATION res
|
|
WHERE con.idReserv = res.idReserv AND dateReserv < SYSDATE
|
|
AND con.idEquipement = '&videquip';
|
|
|
|
DELETE FROM CONTENIR WHERE idReserv IN (
|
|
SELECT con.idReserv INTO dcptReserv FROM CONTENIR con, RESERVATION res
|
|
WHERE con.idReserv = res.idReserv AND dateReserv < SYSDATE
|
|
AND con.idEquipement = '&videquip') AND idEquipement = '&videquip';
|
|
INSERT INTO tresultat VALUES (TO_CHAR(dcptReserv) || ' contenu de réservations passées ont été supprimées');
|
|
|
|
DELETE FROM EQUIPEMENT WHERE idEquipement = '&videquip';
|
|
INSERT INTO tresultat VALUES ('Equipement supprimé : ' || '&videquip');
|
|
|
|
END IF;
|
|
END IF;
|
|
|
|
EXCEPTION
|
|
WHEN inexistant THEN
|
|
INSERT INTO tresultat VALUES (dmessage);
|
|
WHEN resaExiste THEN
|
|
INSERT INTO tresultat VALUES (dmessage);
|
|
|
|
END;
|