Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1/ CREATE OR REPLACE TRIGGER verification1
- BEFORE INSERT OR UPDATE ON T_TRAIN
- FOR EACH ROW
- DECLARE
- post_time PLS_INTEGER := TO_NUMBER(TO_CHAR(:NEW.POST_TIME, 'HH24MI'));
- arrival_time PLS_INTEGER := TO_NUMBER(TO_CHAR(:NEW.ARRIVAL_TIME, 'HH24MI'));
- open_time_station T_STATION.OPEN_TIME%TYPE;
- open_time_station_int PLS_INTEGER;
- close_time_station T_STATION.CLOSE_TIME%TYPE;
- close_time_station_int PLS_INTEGER;
- city_post T_STATION.CITY%TYPE;
- city_arrival T_STATION.CITY%TYPE;
- BEGIN
- SELECT OPEN_TIME, city INTO open_time_station, city_post
- FROM T_STATION
- WHERE STATION_ID = :NEW.DEPARTURE_ID;
- SELECT CLOSE_TIME, city INTO close_time_station, city_arrival
- FROM T_STATION
- WHERE STATION_ID = :NEW.ARRIVAL_ID;
- open_time_station_int := TO_NUMBER(TO_CHAR(open_time_station, 'HH24MI'));
- close_time_station_int := TO_NUMBER(TO_CHAR(close_time_station, 'HH24MI'));
- IF(post_time < open_time_station_int) THEN
- RAISE_APPLICATION_ERROR(-20001, 'Erreur d ajout/modif' );
- ELSIF(arrival_time > close_time_station_int) THEN
- RAISE_APPLICATION_ERROR(-20002, 'Erreur d ajout/modif');
- END IF;
- END;
Add Comment
Please, Sign In to add comment