Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------Utworzenie obiektu adres
- CREATE TYPE o_adres AS OBJECT (
- id INTEGER,
- ulica VARCHAR2(30),
- numer NUMBER(3,0),
- kod VARCHAR(6)
- )NOT FINAL ;
- -------------------------------Usunięcie obiektu adres
- DROP TYPE o_adres FORCE;
- -------------------------------Utworzenie tabeli obiektowej adresów
- CREATE TABLE adresTabObj OF o_adres;
- -------------------------------Usuniecie tabeli obiektowej adresów
- DROP TABLE adresTabObj;
- -------------------------------Dodanie wiersza do tabeli adresów
- INSERT INTO adresTabObj VALUES(
- o_adres(1,'Grunwaldzka',54,'28-100'));
- -------------------------------Przykadowy selekt
- SELECT VALUE(a)
- FROM adrestabobj a;
- -------------------------------Utworzenie obiektu osoby
- CREATE TYPE o_osoba AS OBJECT(
- id INTEGER,
- imie VARCHAR2(10),
- nazwisko VARCHAR2(20),
- adres o_adres
- ) NOT FINAL;
- -------------------------------Usunięcie typu obiektowego osoby
- DROP TYPE o_osoba FORCE;
- -------------------------------Utworzenie tabeli obiektowej osoby
- CREATE TABLE osobaTabObj OF o_osoba;
- -------------------------------Usunięcie tabeli obiektowej osoby
- DROP TABLE osobaTabObj;
- -------------------------------Przykadowy insert
- INSERT INTO osobaTabObj VALUES(
- o_osoba(6,'Jan','Kowalski', o_adres(8,'Krotka',12,'28-110')));
- ------------------------------------Przykadowy selekt
- SELECT VALUE(o)
- FROM osobatabobj o;
- -------------------------------Usunięcie tabeli obiektowej osoby
- DROP TABLE osobaTabObj;
- -------------------------------Utworzenie typu obiektowego pracownika
- CREATE TYPE o_pracownik UNDER o_osoba(
- pensja NUMBER(5,2),
- etat VARCHAR2(20),
- email VARCHAR(30)
- );
- -------------------------------Usuniecie typu obiektowego pracownika
- DROP TYPE o_pracownik FORCE;
- -------------------------------Utworzenie tabeli obiektowej pracownikow
- CREATE TABLE pracownikTabObj OF o_osoba;
- -------------------------------Usuniecie tabeli obiektowej pracownikow
- DROP TABLE pracowniktabobj;
- -------------------------------Przykladowy insert
- INSERT INTO pracowniktabobj VALUES(
- o_pracownik(6,'Jan','Kowalski', o_adres(8,'Krotka',12,'28-110'),400,'Sprzedawca','test@wp.pl'));
- -------------------------------Przykladowe selekty
- SELECT * from pracowniktabobj;
- SELECT VALUE(p)
- FROM pracowniktabobj p;
- -------------------------------Utworzenie typu obiektowego klienta
- CREATE TYPE o_klient UNDER o_osoba(
- tel VARCHAR(12)
- )NOT FINAL;
- -------------------------------Usuniecie typu obiektowego klienta
- DROP TYPE o_klient FORCE;
- -------------------------------Utworzenie typu obiektowego klienta indywidualnego
- CREATE TYPE o_indywidualny UNDER o_klient(
- PESEL NUMBER(11)
- );
- -------------------------------Usuniecie typu obiektowego klienta indywidualnego
- DROP TYPE o_indywidualny FORCE;
- -------------------------------Utworzenie typu obiektowego klienta biznesowego
- CREATE TYPE o_biznesowy UNDER o_klient(
- nazwa_firmy VARCHAR(20),
- NIP VARCHAR(12)
- );
- -------------------------------Usuniecie typu obiektowego klienta biznesowego
- DROP TYPE o_biznesowy FORCE;
- -------------------------------Utworzenie tabeli obiektowej klientow
- CREATE TABLE klienciTabObj OF o_klient;
- -------------------------------Usuniecie tabeli obiektowej klientow
- DROP TABLE klienciTabObj;
- -------------------------------Przykladowe inserty
- INSERT INTO klienciTabObj VALUES(
- o_indywidualny(1,'Jan','Kowalski', o_adres(8,'Krotka',12,'28-110'),'510238060',95080410955));
- INSERT INTO kliencitabobj VALUES(
- o_biznesowy(2,null,null,o_adres(9,'Krotka',12,'28-110'),'500441006','Supremix Sp.z.o.o','PL123456789'));
- -------------------------------Przykladowy selekt
- SELECT VALUE(k)
- FROM klienciTabObj k;
- -------------------------------Utworzenie obiektu auto
- CREATE TYPE o_auto AS OBJECT (
- id INTEGER,
- model VARCHAR2(30),
- kolor VARCHAR2(10),
- rocznik NUMBER(4,0),
- silnik VARCHAR(20),
- moc NUMBER(3,0),
- cena NUMBER(7,2)
- )NOT FINAL;
- -------------------------------Usuniecie typu obiektowego auta
- DROP TYPE o_auto FORCE;
- -------------------------------Utworzenie typu obiektowego auta dostawczego
- CREATE TYPE o_dostawcze UNDER o_auto (
- przestrzen NUMBER(4,2),
- ladownosc NUMBER(7,0)
- );
- -------------------------------Usuniecie typu obiektowego auta dostawczego
- DROP TYPE o_dostawcze FORCE;
- -------------------------------Utworzenie typu obiektowego auta osobowego
- CREATE TYPE o_osobowe UNDER o_auto (
- pojemnosc_bagaznika NUMBER(3,0),
- felgi NUMBER(2,0)
- );
- -------------------------------Usuniecie typu obiektowego auta osobowewgo
- DROP TYPE o_osobowe FORCE;
- -------------------------------Utworzenie tabeli obiektowej aut
- CREATE TABLE autaObjTab OF o_auto;
- -------------------------------Usuniecie tabeli obiektowej aut
- DROP TABLE autaObjTab;
- -------------------------------Przykladowy insert auta dostawczego
- INSERT INTO autaObjTab VALUES
- (NEW o_dostawcze(1,'Master','Czarny',2019,'1.8 diesel',130,15099,30,2000));
- -------------------------------Przykladowy insert auta osobowego
- INSERT INTO autaObjTab VALUES
- (NEW o_osobowe(2,'Megane','Zielony',2019,'2.5 benzyna',200,25099,30,19));
- -------------------------------Selekt
- SELECT VALUE(a)
- FROM autaObjTab a
- WHERE VALUE(a) IS OF (ONLY o_osobowe);
- --------------------------------------//Utworzenie obiektu ubezpieczenie
- CREATE TYPE o_ubezpieczenie AS OBJECT (
- id INTEGER,
- data_rozpoczecia DATE,
- oc CHAR,
- ac CHAR,
- nnw CHAR,
- okres INTEGER,
- cena NUMBER(6,2)
- );
- -------------------------------//Usunięcie obiektu ubezpieczenie
- DROP TYPE o_ubezpieczenie FORCE;
- -------------------------------//Utworzenie tabeli obiektowej ubezpieczenia
- CREATE TABLE ubezpieczenieTabObj OF o_ubezpieczenie;
- -------------------------------//Usunięcie tabeli ubezpieczenie
- DROP TABLE ubezpieczenieTabObj;
- -------------------------------Przykladowy insert
- INSERT INTO ubezpieczenietabobj
- VALUES(1,DATE '2019-05-20','Y','Y','Y',24,3125);
- -------------------------------Przykladowy insert
- INSERT INTO ubezpieczenietabobj
- VALUES(3,DATE '2019-05-20','N','N','Y',24,3125);
- -------------------------------Selekt
- SELECT VALUE(u)
- FROM ubezpieczenietabobj u;
- -------------------------------//Dodanie ograniczeń odnośnie ubezpieczeń (Y-tak, N-nie)
- ALTER TABLE ubezpieczenieTabObj
- ADD CONSTRAINT czy_oc CHECK (oc IN ('Y','N'))
- ADD CONSTRAINT czy_ac CHECK (ac IN ('Y','N'))
- ADD CONSTRAINT czy_nnw CHECK (nnw IN ('Y','N'));
- -------------------------------Utworzenie tabeli faktur
- CREATE TABLE faktura (
- id INTEGER PRIMARY KEY,
- ubezpieczenie_ref REF o_ubezpieczenie SCOPE IS ubezpieczenieTabObj,
- auto_ref REF o_auto SCOPE IS autaObjTab
- );
- -------------------------------Insert do tabeli faktur
- INSERT INTO faktura (id, ubezpieczenie_ref, auto_ref) VALUES (
- 1,
- (SELECT REF(ur) FROM ubezpieczenieTabObj ur WHERE ur.id = 1),
- (SELECT REF(ar) FROM autaObjTab ar WHERE ar.id = 1)
- );
- -------------------------------Selekt faktur
- SELECT DEREF(ubezpieczenie_ref).id as "ID", DEREF(ubezpieczenie_ref).oc,DEREF(ubezpieczenie_ref).ac,DEREF(ubezpieczenie_ref).cena
- FROM faktura;
- -------------------------------
- SELECT * from faktura;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement