Guest User

Untitled

a guest
May 26th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. 1/ CREATE OR REPLACE TRIGGER verification1
  2. BEFORE INSERT OR UPDATE ON T_TRAIN
  3. FOR EACH ROW
  4. DECLARE
  5. post_time PLS_INTEGER := TO_NUMBER(TO_CHAR(:NEW.POST_TIME, 'HH24MI'));
  6. arrival_time PLS_INTEGER := TO_NUMBER(TO_CHAR(:NEW.ARRIVAL_TIME, 'HH24MI'));
  7. open_time_station T_STATION.OPEN_TIME%TYPE;
  8. open_time_station_int PLS_INTEGER;
  9. close_time_station T_STATION.CLOSE_TIME%TYPE;
  10. close_time_station_int PLS_INTEGER;
  11. city_post T_STATION.CITY%TYPE;
  12. city_arrival T_STATION.CITY%TYPE;
  13.  
  14. BEGIN
  15. SELECT OPEN_TIME, city INTO open_time_station, city_post
  16. FROM T_STATION
  17. WHERE STATION_ID = :NEW.DEPARTURE_ID;
  18.  
  19. SELECT CLOSE_TIME, city INTO close_time_station, city_arrival
  20. FROM T_STATION
  21. WHERE STATION_ID = :NEW.ARRIVAL_ID;
  22.  
  23. open_time_station_int := TO_NUMBER(TO_CHAR(open_time_station, 'HH24MI'));
  24. close_time_station_int := TO_NUMBER(TO_CHAR(close_time_station, 'HH24MI'));
  25.  
  26. IF(post_time < open_time_station_int) THEN
  27. RAISE_APPLICATION_ERROR(-20001, 'Erreur d ajout/modif' );
  28. ELSIF(arrival_time > close_time_station_int) THEN
  29. RAISE_APPLICATION_ERROR(-20002, 'Erreur d ajout/modif');
  30. END IF;
  31. END;
Add Comment
Please, Sign In to add comment