1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
CREATE OR REPLACE TRIGGER `time_av`
AFTER INSERT OR UPDATE OF HEURE_DEP, HEURE_ARR, AVION_ID ON VOL
FOR EACH ROW
DECLARE
CURSOR C1(nav NUMBER) IS
SELECT HEURE_DEP, HEURE_ARR FROM VOL WHERE AVION_ID=nav;
jour C1%RowType;
BEGIN
OPEN C1(:new.AVION_ID);
LOOP
FETCH C1 INTO jour;
EXIT WHEN C1%NOTFOUND;
IF((:new.HEURE_DEP>jour.HEURE_DEP AND:new.HEURE_ARR>jour.HEURE_ARR) OR (:new.HEURE_DEP<jour.HEURE_DEP AND :new.HEURE_ARR<jour.HEURE_ARR))
THEN
raise_application_error (-200005,'Les heures du vol ne sont pas correctes');
END if;
END LOOP;
CLOSE C1;
END;
/ |
Partager