Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.98 KB | None | 0 0
  1. SET SERVEROUTPUT ON;
  2. --przed wypozyczeniem sprawdzamy czy czytelnik oplacil abonament
  3. CREATE OR REPLACE TRIGGER Oplaty_Trigger
  4. BEFORE INSERT ON WYPOZYCZENIE
  5. FOR EACH ROW
  6. DECLARE
  7.     v_Figuruje NUMBER;
  8.     v_DataDzis DATE;
  9.     v_DataZakupu DATE;
  10.     v_DataWaznosci DATE;
  11. BEGIN
  12.     v_DataDzis := CURRENT_DATE;
  13.     SELECT COUNT(*) INTO v_Figuruje FROM PLATNOSC WHERE :NEW.czytelnik_id_czytelnika = platnosc.czytelnik_id_czytelnika;
  14.    
  15.     IF v_Figuruje = 0 THEN
  16.         RAISE_APPLICATION_ERROR(-20000, 'Prosze najpierw oplacic abonament!');
  17.     ELSE
  18.          SELECT data INTO v_DataZakupu FROM platnosc WHERE :NEW.czytelnik_id_czytelnika = platnosc.czytelnik_id_czytelnika;
  19.          v_DataWaznosci := v_DataZakupu + 30;
  20.          
  21.          IF v_DataWaznosci < v_DataDzis THEN
  22.             RAISE_APPLICATION_ERROR(-20000, 'Abonament wygasl, prosze uregulowac oplaty!');
  23.          END IF;
  24.     END IF;
  25. END;
  26.  
  27. --przyklad uzycia
  28. --insert into wypozyczenie values(4, 14, CURRENT_DATE, null);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement