Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE PROCEDURE dodaj_rezerwacje
- (id_wycieczki_ IN INT, id_osoby_ IN INT) IS
- id_exists NUMBER(1);
- data_wycieczki DATE;
- dostepnosc_wycieczki NUMBER(1);
- BEGIN
- SELECT COUNT(*) INTO id_exists FROM WYCIECZKI w WHERE w.ID_WYCIECZKI = id_wycieczki_;
- IF id_exists = 0
- THEN
- RAISE_APPLICATION_ERROR(-20001, 'Wycieczka o podanym ID nie istnieje');
- END IF;
- SELECT COUNT(*) INTO id_exists FROM OSOBY o WHERE o.ID_OSOBY = id_osoby_;
- IF id_exists = 0
- THEN
- RAISE_APPLICATION_ERROR(-20001, 'Osoba o podanym ID nie istnieje');
- END IF;
- SELECT w.DATA INTO data_wycieczki FROM WYCIECZKI w WHERE w.ID_WYCIECZKI = id_wycieczki_;
- IF data_wycieczki < SYSDATE
- THEN
- RAISE_APPLICATION_ERROR(-20001, 'Wycieczka już się odbyła');
- END IF;
- SELECT COUNT(*) INTO dostepnosc_wycieczki FROM DOSTEPNE_WYCIECZKI w WHERE w.ID_WYCIECZKI = id_wycieczki_;
- IF dostepnosc_wycieczki = 0
- THEN
- RAISE_APPLICATION_ERROR(-20001, 'Brak miejsc na wycieczkę');
- END IF;
- INSERT INTO REZERWACJE(ID_WYCIECZKI, ID_OSOBY, STATUS)
- VALUES (id_wycieczki_,id_osoby_,'N');
- END;
- CREATE VIEW rezerwacje_do_anulowania
- AS
- SELECT
- r.NR_REZERWACJI,
- r.ID_WYCIECZKI,
- r.ID_OSOBY,
- r.STATUS,
- w.NAZWA,
- w.KRAJ,
- w.DATA
- FROM REZERWACJE r
- JOIN WYCIECZKI w ON r.ID_WYCIECZKI = w.ID_WYCIECZKI
- WHERE ( DATA - sysdate <= 7 and STATUS = 'N');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement