Guest User

Untitled

a guest
Jun 12th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE TYPE TELEFON AS OBJECT(
  2. NAZWA_SIECI VARCHAR2(30),
  3. NUMER NUMBER,
  4. DARMOWE_MINUTY NUMBER
  5. );
  6.  
  7. CREATE TABLE TELEFONY OF TELEFON;
  8.  
  9. INSERT INTO TELEFONY VALUES(NEW TELEFON('TMOBILE', 666925358, 12000));
  10. INSERT INTO TELEFONY VALUES(NEW TELEFON('ORANGE', 666222333, 1200));
  11.  
  12. SELECT * FROM TELEFONY;
  13.  
  14. SELECT VALUE(A).NAZWA_SIECI, VALUE(A).NUMER, VALUE(A).DARMOWE_MINUTY FROM TELEFONY A;
  15.  
  16. --4--
  17. CREATE TYPE WLASCICIEL AS OBJECT(
  18. IMIE VARCHAR2(150),
  19. NAZWISKO VARCHAR(120),
  20. TEL REF TELEFON
  21.     );
  22.  
  23. CREATE TABLE WLASCICIELE OF WLASCICIEL;
  24.  
  25. ALTER TABLE WLASCICIELE ADD SCOPE FOR(TEL) IS TELEFONY;
  26.  
  27. ALTER TYPE wlasciciel REPLACE AS object(
  28.     IMIE VARCHAR2(150),
  29.     NAZWISKO VARCHAR(120),
  30.     TEL REF TELEFON,
  31.     member FUNCTION mintosek(minu NUMBER) RETURN NUMBER,
  32.     member PROCEDURE darmowemin(wykorzystane NUMBER)
  33.     );
  34.  
  35.  
  36.  
  37. CREATE OR REPLACE TYPE BODY wlasciciel AS
  38.     member FUNCTION mintosek(minu NUMBER) RETURN NUMBER IS
  39.         BEGIN
  40.             RETURN minu*60;
  41.     END mintosek;
  42.     member PROCEDURE darmowemin(wykorzystane NUMBER) IS
  43.         BEGIN
  44.             self.tel.DARMOWE_MINUTY := self.tel.DARMOWE_MINUTY - wykorzystane;
  45.     END darmowemin;
  46. END;
Advertisement
Add Comment
Please, Sign In to add comment