Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.94 KB | None | 0 0
  1. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  2. VALUES('Adam', 'Kowalski', '87654321', 'tel: 6623');
  3.  
  4. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  5. VALUES('Jan', 'Nowak', '12345678', 'tel: 2312, dzwonić po 18.00');
  6.  
  7. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  8. VALUES('Adam', 'Słodowy', '12333678', 'tel: 2212, dzwonić po 23.00');
  9.  
  10. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  11. VALUES('Robert', 'Kubica', '12345624', 'tel: 2322, dzwonić po 4.00');
  12.  
  13. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  14. VALUES('Marian', 'Paździoch', '12369698', 'tel: 2172, nie dzwonić po 18.00');
  15.  
  16. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  17. VALUES('Tomasz', 'Działowy', '42042069', 'tel: 4202,  dzwonić po 16.00');
  18.  
  19.  
  20. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  21. VALUES('Józef', 'Stanin', '69696969', 'tel: 4292,  dzwonić po 11.00');
  22.  
  23. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  24. VALUES('Janusz', 'Filipiak', '45044329', 'tel: 9009,  dzwonić po 17.00');
  25.  
  26. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  27. VALUES('Szymon', 'Majewski', '54930293', 'tel: 1102,  dzwonić po 18.00');
  28.  
  29.  
  30. INSERT INTO osoby (imie, nazwisko, pesel, kontakt)
  31. VALUES('Juliusz', 'Cezar', '75932833', 'tel: 4362,  dzwonić po 10.00');
  32.  
  33.  
  34.  
  35. INSERT INTO wycieczki (nazwa, kraj, DATA, opis, liczba_miejsc)
  36. VALUES ('Wycieczka do Paryza','Francja',TO_DATE('2016-01-01', 'YYYY-MM-DD'),'Ciekawa wycieczka ...',3);
  37. INSERT INTO wycieczki (nazwa, kraj, DATA, opis, liczba_miejsc)
  38. VALUES ('Piękny Kraków','Polska',TO_DATE('2017-02-03', 'YYYY-MM-DD'),'Najciekawa wycieczka ...',2);
  39. INSERT INTO wycieczki (nazwa, kraj, DATA, opis, liczba_miejsc)
  40. VALUES ('Wieliczka','Polska',TO_DATE('2017-03-03', 'YYYY-MM-DD'),'Zadziwiająca kopalnia ...',2);
  41. INSERT INTO wycieczki (nazwa, kraj, DATA, opis, liczba_miejsc)
  42. VALUES ('Szlakami instalacji komunalnych Krakowa','Polska',TO_DATE('2019-03-03', 'YYYY-MM-DD'),'Zadziwiające kanały ...',2);
  43.  
  44.  
  45.  
  46. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  47. VALUES (6,14,'N');
  48. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  49. VALUES (6,15,'P');
  50. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  51. VALUES (7,11,'P');
  52. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  53. VALUES (7,13,'P');
  54. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  55. VALUES (8,15,'N');
  56. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  57. VALUES (8,14,'P');
  58. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  59. VALUES (6,16,'N');
  60. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  61. VALUES (9,15,'P');
  62. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  63. VALUES (9,14,'N');
  64. INSERT INTO rezerwacje(id_wycieczki, id_osoby, STATUS)
  65. VALUES (9,13,'P');
  66.  
  67. DELETE FROM OSOBY WHERE ID_OSOBY = 9
  68.  
  69. SELECT *
  70. FROM OSOBY;
  71.  
  72. SELECT *
  73. FROM WYCIECZKI;
  74.  
  75. SELECT *
  76. FROM REZERWACJE;
  77.  
  78. DELETE FROM REZERWACJE WHERE 1 = 1
  79.  
  80.  
  81. CREATE VIEW wycieczki_osoby
  82.  AS
  83.  SELECT
  84.  w.ID_WYCIECZKI,
  85.  w.NAZWA,
  86.  w.KRAJ,
  87.  w.DATA,
  88.  o.IMIE,
  89.  o.NAZWISKO,
  90.  r.STATUS
  91.  FROM WYCIECZKI w
  92.  JOIN REZERWACJE r ON w.ID_WYCIECZKI = r.ID_WYCIECZKI
  93.  JOIN OSOBY o ON r.ID_OSOBY = o.ID_OSOBY;
  94.  
  95. -- wycieczki_osoby_potwierdzone (kraj,data, nazwa_wycieczki, imie,
  96. -- nazwisko,status_rezerwacji)
  97.  
  98. CREATE VIEW wycieczki_osoby_potwierdzone
  99.  AS
  100.  SELECT
  101.  w.KRAJ,
  102.  w.DATA,
  103.  w.NAZWA,
  104.  o.IMIE,
  105.  o.NAZWISKO,
  106.  r.STATUS
  107.  FROM WYCIECZKI w
  108.  JOIN REZERWACJE r ON w.ID_WYCIECZKI = r.ID_WYCIECZKI
  109.  JOIN OSOBY o ON r.ID_OSOBY = o.ID_OSOBY
  110.  WHERE r.STATUS = 'P' OR r.STATUS = 'Z';
  111.  
  112. -- wycieczki_przyszle (kraj,data, nazwa_wycieczki, imie, nazwisko,status_rezerwacji)
  113. CREATE VIEW wycieczki_przyszle
  114. AS
  115. SELECT
  116.  w.KRAJ,
  117.  w.DATA,
  118.  w.NAZWA,
  119.  o.IMIE,
  120.  o.NAZWISKO,
  121.  r.STATUS
  122.  FROM WYCIECZKI w
  123.  JOIN REZERWACJE r ON w.ID_WYCIECZKI = r.ID_WYCIECZKI
  124.  JOIN OSOBY o ON r.ID_OSOBY = o.ID_OSOBY
  125. WHERE w.DATA > (SELECT CURRENT_DATE FROM dual)
  126.  
  127. -- wycieczki_miejsca(kraj,data, nazwa_wycieczki,liczba_miejsc, liczba_wolnych_miejsc)
  128.  
  129. CREATE VIEW wycieczki_miejsca
  130. AS
  131. SELECT
  132.  w.KRAJ,
  133.  w.DATA,
  134.  w.NAZWA,
  135.  w.LICZBA_MIEJSC,
  136.  w.LICZBA_MIEJSC - (SELECT COUNT(*) FROM REZERWACJE r WHERE r.ID_WYCIECZKI = w.ID_WYCIECZKI AND (r.STATUS = 'Z' OR r.STATUS = 'P' OR r.STATUS = 'N')) AS LICZBA_WOLNYCH_MIEJSC
  137.  FROM WYCIECZKI w
  138.  
  139. -- dostępne_wyciezki(kraj,data, nazwa_wycieczki,liczba_miejsc, liczba_wolnych_miejsc)
  140.  
  141. CREATE VIEW dostepne_wycieczki
  142. AS
  143. SELECT
  144.  w.KRAJ,
  145.  w.DATA,
  146.  w.NAZWA,
  147.  w.LICZBA_MIEJSC,
  148.  w.LICZBA_WOLNYCH_MIEJSC
  149.  FROM wycieczki_miejsca w
  150. WHERE w.LICZBA_WOLNYCH_MIEJSC > 0 AND w.DATA > (SELECT CURRENT_DATE FROM dual)
  151.  
  152. -- ) rezerwacje_do_ anulowania – lista niepotwierdzonych rezerwacji które powinne zostać
  153. -- anulowane, rezerwacje przygotowywane są do anulowania na tydzień przed wyjazdem)
  154.  
  155. CREATE VIEW rezerwacje_do_anulowania
  156.  AS
  157.  SELECT
  158.  w.KRAJ,
  159.  w.DATA,
  160.  w.NAZWA,
  161.  o.IMIE,
  162.  o.NAZWISKO,
  163.  r.STATUS
  164.  FROM WYCIECZKI w
  165.  JOIN REZERWACJE r ON w.ID_WYCIECZKI = r.ID_WYCIECZKI
  166.  JOIN OSOBY o ON r.ID_OSOBY = o.ID_OSOBY
  167.  WHERE r.STATUS = 'N' AND w.DATA -7 >= (sysdate ) ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement