Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET SERVEROUTPUT ON;
- --przed wypozyczeniem sprawdzamy czy czytelnik oplacil abonament
- CREATE OR REPLACE TRIGGER Oplaty_Trigger
- BEFORE INSERT ON WYPOZYCZENIE
- FOR EACH ROW
- DECLARE
- v_Figuruje NUMBER;
- v_DataDzis DATE;
- v_DataZakupu DATE;
- v_DataWaznosci DATE;
- BEGIN
- v_DataDzis := CURRENT_DATE;
- SELECT COUNT(*) INTO v_Figuruje FROM PLATNOSC WHERE :NEW.czytelnik_id_czytelnika = platnosc.czytelnik_id_czytelnika;
- IF v_Figuruje = 0 THEN
- RAISE_APPLICATION_ERROR(-20000, 'Prosze najpierw oplacic abonament!');
- ELSE
- SELECT data INTO v_DataZakupu FROM platnosc WHERE :NEW.czytelnik_id_czytelnika = platnosc.czytelnik_id_czytelnika;
- v_DataWaznosci := v_DataZakupu + 30;
- IF v_DataWaznosci < v_DataDzis THEN
- RAISE_APPLICATION_ERROR(-20000, 'Abonament wygasl, prosze uregulowac oplaty!');
- END IF;
- END IF;
- END;
- --przyklad uzycia
- --insert into wypozyczenie values(4, 14, CURRENT_DATE, null);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement