Advertisement
Guest User

Untitled

a guest
May 26th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.93 KB | None | 0 0
  1. -------------------------------Utworzenie obiektu adres
  2. CREATE TYPE o_adres AS OBJECT (
  3. id INTEGER,
  4. ulica VARCHAR2(30),
  5. numer NUMBER(3,0),
  6. kod VARCHAR(6)
  7. )NOT FINAL ;
  8. -------------------------------Usunięcie obiektu adres
  9. DROP TYPE o_adres FORCE;
  10. -------------------------------Utworzenie tabeli obiektowej adresów
  11. CREATE TABLE adresTabObj OF o_adres;
  12. -------------------------------Usuniecie tabeli obiektowej adresów
  13. DROP TABLE adresTabObj;
  14. -------------------------------Dodanie wiersza do tabeli adresów
  15. INSERT INTO adresTabObj VALUES(
  16. o_adres(1,'Grunwaldzka',54,'28-100'));
  17. -------------------------------Przykadowy selekt
  18. SELECT VALUE(a)
  19. FROM adrestabobj a;
  20. -------------------------------Utworzenie obiektu osoby
  21. CREATE TYPE o_osoba AS OBJECT(
  22. id INTEGER,
  23. imie VARCHAR2(10),
  24. nazwisko VARCHAR2(20),
  25. adres o_adres
  26. ) NOT FINAL;
  27. -------------------------------Usunięcie typu obiektowego osoby
  28. DROP TYPE o_osoba FORCE;
  29. -------------------------------Utworzenie tabeli obiektowej osoby
  30. CREATE TABLE osobaTabObj OF o_osoba;
  31. -------------------------------Usunięcie tabeli obiektowej osoby
  32. DROP TABLE osobaTabObj;
  33. -------------------------------Przykadowy insert
  34. INSERT INTO osobaTabObj VALUES(
  35. o_osoba(6,'Jan','Kowalski', o_adres(8,'Krotka',12,'28-110')));
  36. ------------------------------------Przykadowy selekt
  37. SELECT VALUE(o)
  38. FROM osobatabobj o;
  39. -------------------------------Usunięcie tabeli obiektowej osoby
  40. DROP TABLE osobaTabObj;
  41. -------------------------------Utworzenie typu obiektowego pracownika
  42. CREATE TYPE o_pracownik UNDER o_osoba(
  43. pensja NUMBER(5,2),
  44. etat VARCHAR2(20),
  45. email VARCHAR(30)
  46. );
  47. -------------------------------Usuniecie typu obiektowego pracownika
  48. DROP TYPE o_pracownik FORCE;
  49. -------------------------------Utworzenie tabeli obiektowej pracownikow
  50. CREATE TABLE pracownikTabObj OF o_osoba;
  51. -------------------------------Usuniecie tabeli obiektowej pracownikow
  52. DROP TABLE pracowniktabobj;
  53. -------------------------------Przykladowy insert
  54. INSERT INTO pracowniktabobj VALUES(
  55. o_pracownik(6,'Jan','Kowalski', o_adres(8,'Krotka',12,'28-110'),400,'Sprzedawca','test@wp.pl'));
  56. -------------------------------Przykladowe selekty
  57. SELECT * from pracowniktabobj;
  58. SELECT VALUE(p)
  59. FROM pracowniktabobj p;
  60. -------------------------------Utworzenie typu obiektowego klienta
  61. CREATE TYPE o_klient UNDER o_osoba(
  62. tel VARCHAR(12)
  63. )NOT FINAL;
  64. -------------------------------Usuniecie typu obiektowego klienta
  65. DROP TYPE o_klient FORCE;
  66. -------------------------------Utworzenie typu obiektowego klienta indywidualnego
  67. CREATE TYPE o_indywidualny UNDER o_klient(
  68. PESEL NUMBER(11)
  69. );
  70. -------------------------------Usuniecie typu obiektowego klienta indywidualnego
  71. DROP TYPE o_indywidualny FORCE;
  72. -------------------------------Utworzenie typu obiektowego klienta biznesowego
  73. CREATE TYPE o_biznesowy UNDER o_klient(
  74. nazwa_firmy VARCHAR(20),
  75. NIP VARCHAR(12)
  76. );
  77. -------------------------------Usuniecie typu obiektowego klienta biznesowego
  78. DROP TYPE o_biznesowy FORCE;
  79. -------------------------------Utworzenie tabeli obiektowej klientow
  80. CREATE TABLE klienciTabObj OF o_klient;
  81. -------------------------------Usuniecie tabeli obiektowej klientow
  82. DROP TABLE klienciTabObj;
  83. -------------------------------Przykladowe inserty
  84. INSERT INTO klienciTabObj VALUES(
  85. o_indywidualny(1,'Jan','Kowalski', o_adres(8,'Krotka',12,'28-110'),'510238060',95080410955));
  86. INSERT INTO kliencitabobj VALUES(
  87. o_biznesowy(2,null,null,o_adres(9,'Krotka',12,'28-110'),'500441006','Supremix Sp.z.o.o','PL123456789'));
  88. -------------------------------Przykladowy selekt
  89. SELECT VALUE(k)
  90. FROM klienciTabObj k;
  91. -------------------------------Utworzenie obiektu auto
  92. CREATE TYPE o_auto AS OBJECT (
  93. id INTEGER,
  94. model VARCHAR2(30),
  95. kolor VARCHAR2(10),
  96. rocznik NUMBER(4,0),
  97. silnik VARCHAR(20),
  98. moc NUMBER(3,0),
  99. cena NUMBER(7,2)
  100. )NOT FINAL;
  101. -------------------------------Usuniecie typu obiektowego auta
  102. DROP TYPE o_auto FORCE;
  103. -------------------------------Utworzenie typu obiektowego auta dostawczego
  104. CREATE TYPE o_dostawcze UNDER o_auto (
  105. przestrzen NUMBER(4,2),
  106. ladownosc NUMBER(7,0)
  107. );
  108. -------------------------------Usuniecie typu obiektowego auta dostawczego
  109. DROP TYPE o_dostawcze FORCE;
  110. -------------------------------Utworzenie typu obiektowego auta osobowego
  111. CREATE TYPE o_osobowe UNDER o_auto (
  112. pojemnosc_bagaznika NUMBER(3,0),
  113. felgi NUMBER(2,0)
  114. );
  115. -------------------------------Usuniecie typu obiektowego auta osobowewgo
  116. DROP TYPE o_osobowe FORCE;
  117. -------------------------------Utworzenie tabeli obiektowej aut
  118. CREATE TABLE autaObjTab OF o_auto;
  119. -------------------------------Usuniecie tabeli obiektowej aut
  120. DROP TABLE autaObjTab;
  121. -------------------------------Przykladowy insert auta dostawczego
  122. INSERT INTO autaObjTab VALUES
  123. (NEW o_dostawcze(1,'Master','Czarny',2019,'1.8 diesel',130,15099,30,2000));
  124. -------------------------------Przykladowy insert auta osobowego
  125. INSERT INTO autaObjTab VALUES
  126. (NEW o_osobowe(2,'Megane','Zielony',2019,'2.5 benzyna',200,25099,30,19));
  127. -------------------------------Selekt
  128. SELECT VALUE(a)
  129. FROM autaObjTab a
  130. WHERE VALUE(a) IS OF (ONLY o_osobowe);
  131. --------------------------------------//Utworzenie obiektu ubezpieczenie
  132. CREATE TYPE o_ubezpieczenie AS OBJECT (
  133. id INTEGER,
  134. data_rozpoczecia DATE,
  135. oc CHAR,
  136. ac CHAR,
  137. nnw CHAR,
  138. okres INTEGER,
  139. cena NUMBER(6,2)
  140. );
  141. -------------------------------//Usunięcie obiektu ubezpieczenie
  142. DROP TYPE o_ubezpieczenie FORCE;
  143. -------------------------------//Utworzenie tabeli obiektowej ubezpieczenia
  144. CREATE TABLE ubezpieczenieTabObj OF o_ubezpieczenie;
  145. -------------------------------//Usunięcie tabeli ubezpieczenie
  146. DROP TABLE ubezpieczenieTabObj;
  147. -------------------------------Przykladowy insert
  148. INSERT INTO ubezpieczenietabobj
  149. VALUES(1,DATE '2019-05-20','Y','Y','Y',24,3125);
  150. -------------------------------Przykladowy insert
  151. INSERT INTO ubezpieczenietabobj
  152. VALUES(3,DATE '2019-05-20','N','N','Y',24,3125);
  153. -------------------------------Selekt
  154. SELECT VALUE(u)
  155. FROM ubezpieczenietabobj u;
  156. -------------------------------//Dodanie ograniczeń odnośnie ubezpieczeń (Y-tak, N-nie)
  157. ALTER TABLE ubezpieczenieTabObj
  158. ADD CONSTRAINT czy_oc CHECK (oc IN ('Y','N'))
  159. ADD CONSTRAINT czy_ac CHECK (ac IN ('Y','N'))
  160. ADD CONSTRAINT czy_nnw CHECK (nnw IN ('Y','N'));
  161. -------------------------------Utworzenie tabeli faktur
  162. CREATE TABLE faktura (
  163. id INTEGER PRIMARY KEY,
  164. ubezpieczenie_ref REF o_ubezpieczenie SCOPE IS ubezpieczenieTabObj,
  165. auto_ref REF o_auto SCOPE IS autaObjTab
  166. );
  167. -------------------------------Insert do tabeli faktur
  168. INSERT INTO faktura (id, ubezpieczenie_ref, auto_ref) VALUES (
  169. 1,
  170. (SELECT REF(ur) FROM ubezpieczenieTabObj ur WHERE ur.id = 1),
  171. (SELECT REF(ar) FROM autaObjTab ar WHERE ar.id = 1)
  172. );
  173. -------------------------------Selekt faktur
  174. SELECT DEREF(ubezpieczenie_ref).id as "ID", DEREF(ubezpieczenie_ref).oc,DEREF(ubezpieczenie_ref).ac,DEREF(ubezpieczenie_ref).cena
  175. FROM faktura;
  176. -------------------------------
  177. SELECT * from faktura;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement