Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 3.6
- CREATE OR REPLACE TYPE book_type AS OBJECT(
- bookno NUMBER,
- title VARCHAR2(30),
- genre VARCHAR2(20),
- MEMBER FUNCTION get_bookno RETURN NUMBER,
- STATIC FUNCTION show_super(book_obj in book_type) RETURN VARCHAR2,
- MEMBER FUNCTION show RETURN VARCHAR2) NOT FINAL;
- 3.7
- CREATE OR REPLACE TYPE BODY book_type AS
- MEMBER FUNCTION get_bookno RETURN NUMBER IS
- BEGIN
- RETURN (bookno);
- END;
- STATIC FUNCTION show_super(book_obj in book_type) RETURN VARCHAR2 IS
- BEGIN
- RETURN ('Id: ' || TO_CHAR(book_obj.bookno) || ', Title: ' || book_obj.title);
- END;
- MEMBER FUNCTION show RETURN VARCHAR2 IS
- BEGIN
- RETURN book_type.show_super( SELF );
- END;
- END;
- 3.8
- SELECT type, text
- FROM user_source
- WHERE name = 'BOOK_TYPE';
- 3.9
- CREATE TABLE book_obj_table OF book_type;
- 3.10
- SELECT * FROM book_obj_table;
- SELECT value(t) FROM book_obj_table t;
- 3.11
- SELECT sys_nc_rowinfo$ FROM book_obj_table;
- 3.12
- SELECT sys_nc_oid$ FROM book_obj_table;
- 3.13
- CREATE TABLE book_col_table (
- store_id NUMBER,
- books book_type
- );
- 3.14
- INSERT INTO "BOOK_COL_TABLE" VALUES ('1', BOOK_TYPE('5', 'Wiedzmin', 'Fantastyka'));
- INSERT INTO "BOOK_COL_TABLE" VALUES ('2', BOOK_TYPE('6', 'Wiedzmin2', 'Fantastyka'));
- INSERT INTO "BOOK_COL_TABLE" VALUES ('3', BOOK_TYPE('7', 'Wiedzmin3', 'Fantastyka'));
- INSERT INTO "BOOK_COL_TABLE" VALUES ('4', BOOK_TYPE('8', 'Wiedzmin4', 'Fantastyka'));
- 3.15
- SELECT p.books.title FROM book_col_table p;
- 3.16
- CREATE TYPE book_type2 AS OBJECT (
- title VARCHAR2(30),
- serie REF book_type2);
- 3.17
- CREATE TABLE book_obj_table2 OF book_type2;
- 3.18
- INSERT INTO book_obj_table2 VALUES('GoodBook Part 1', NULL);
- 3.19
- INSERT INTO book_obj_table2 SELECT book_type2 ('GoodBook Part 2', REF(t))
- FROM book_obj_table2 t
- WHERE t.title = 'GoodBook Part 1';
- 3.20
- SELECT t.title, DEREF(t.serie).title FROM book_obj_table2 t;
- 3.21
- SELECT * FROM USER_TAB_COLS WHERE TABLE_NAME = 'BOOK_OBJ_TABLE' OR TABLE_NAME = 'BOOK_OBJ_TABLE2';
- Tabele maja ten sam zestaw kolumn.
- 3.22
- CREATE TYPE lista_ksiazek_wyp AS VARRAY(10) of varchar2(80);
- 3.23
- CREATE TYPE lista_ksiazek is TABLE of book_type;
- 3.24
- CREATE TABLE klasa
- (
- class_no NUMBER PRIMARY KEY,
- BRANCH CHAR(4),
- BORROWS lista_ksiazek
- )
- NESTED TABLE borrows STORE AS borrows_tab;
- 3.25
- INSERT INTO klasa (class_no, branch, borrows) VALUES
- (1, 'a', lista_ksiazek(
- book_type('7','OnePiece','Manga'),
- book_type('8','Poradnik na temat Zycia','Poradnik')
- )
- );
- 3.26
- SELECT e.*, d.*
- FROM klasa d, TABLE(d.borrows) e;
- 3.27
- SELECT * FROM user_nested_tables;
- 3.28
- DROP TABLE borrows_tab;
- Usuniecie tabeli nie powiodlo sie. Zagniezdzone tabele moga byc usuniete jedynie poprzez usuniecie ich tabeli rodzica.
- 3.29
- ALTER TABLE klasa DROP COLUMN borrows;
- Ponowne sprawdzenie perspektywy FROM user_nested_tables nie zwrocilo wynikow, co oznacza ze tabela stowarzyszona zostala usunieta.
- 3.30
- DROP TYPE lista_ksiazek_wyp;
- DROP TYPE lista_ksiazek;
- 3.31
- DROP TABLE book_obj_table;
- DROP TABLE book_obj_table2;
- DROP TABLE klasa;
- 3.32
- DROP TYPE book_type FORCE;
- DROP TYPE book_type2;
- XML !-----------------------------
- 4.1
- SELECT nr_prac, XMLElement("PRACOWNICY",nazwisko ) AS "wynik"
- FROM pracownicy
- WHERE nr_prac < 5;
- 4.2
- SELECT dbms_xmlgen.getXML('select * from PRACOWNICY') FROM dual;
- 4.3
- SELECT XMLElement("PRACOWNICY", XMLAttributes(nr_prac,nazwisko)) AS "wynik"
- FROM pracownicy
- WHERE nr_prac < 5;
- SELECT XMLElement
- ("Pracownicy",XMLAttributes(nr_prac AS "numer pracownika"),
- XMLColAttVal (nazwisko AS "Nazwisko pracownika"),
- XMLColAttVal (nr_zesp AS "Numer zespolu pracownika")) AS "wynik"
- FROM pracownicy
- WHERE nr_prac < 5;
- SELECT XMLElement("PRACOWNICY",
- XMLAttributes(nr_prac AS "id"),
- XMLElement("NAZWISKO", nazwisko ),
- ' pracuje w zespole '||nr_zesp||' i urodzil sie ',
- XMLElement("data_ur", data_ur))
- AS "wynik"
- FROM pracownicy
- WHERE nr_prac < 5;
- wynik
- --------------------------------------------------------------------------------
- <PRACOWNICY NR_PRAC="1" NAZWISKO="GRZYBEK "></PRACOWNICY>
- <PRACOWNICY NR_PRAC="2" NAZWISKO="GRZYBIARZ "></PRACOWNICY>
- <PRACOWNICY NR_PRAC="3" NAZWISKO="WIREK "></PRACOWNICY>
- <PRACOWNICY NR_PRAC="4" NAZWISKO="JANECZEK "></PRACOWNICY>
- wynik
- --------------------------------------------------------------------------------
- <Pracownicy numer pracownika="1"><column name = "Nazwisko pracownika">GRZYBEK
- <Pracownicy numer pracownika="2"><column name = "Nazwisko pracownika">GRZYBIARZ
- <Pracownicy numer pracownika="3"><column name = "Nazwisko pracownika">WIREK
- <Pracownicy numer pracownika="4"><column name = "Nazwisko pracownika">JANECZEK
- wynik
- --------------------------------------------------------------------------------
- <PRACOWNICY id="1"><NAZWISKO>GRZYBEK </NAZWISKO> pracuje w zespole 4 i ur
- <PRACOWNICY id="2"><NAZWISKO>GRZYBIARZ </NAZWISKO> pracuje w zespole 5 i ur
- <PRACOWNICY id="3"><NAZWISKO>WIREK </NAZWISKO> pracuje w zespole 6 i ur
- <PRACOWNICY id="4"><NAZWISKO>JANECZEK </NAZWISKO> pracuje w zespole 5 i ur
- 4.4
- SELECT XMLForest (nazwisko,
- data_ur as "urodzony",
- 'Tak' as "Zwolniony")
- FROM pracownicy;
- 4.5
- select XMLElement (name "Zespoly",
- XMLAttributes(nr_zesp as "Numer"),
- XMLAgg(
- XMLElement (name "Pracownicy", nazwisko)
- )
- ) wynik
- from pracownicy
- group by nr_zesp;
- 4.6
- SELECT XMLConcat ( XMLElement("SZEF", S.NAZWISKO ),
- XMLElement("PODWLADNY", P.NAZWISKO) )
- AS "wynik"
- FROM pracownicy p, zespoly z, pracownicy s
- WHERE p.nr_zesp = z.nr_zesp and z.nr_prac_kz=s.nr_prac;
- 4.7
- CREATE TABLE testXML AS
- SELECT DBMS_XMLGEN.getXML
- ('SELECT * FROM pracownicy where nr_prac=1 or nr_prac=2')
- AS pracownicy
- FROM dual;
- 4.8
- CREATE TABLE pracownicy2 (
- prac_id NUMBER(3),
- prac_spec sys.XMLType,
- prac_name VARCHAR(35),
- funkcja_id NUMBER(4)
- );
- 4.9
- INSERT INTO pracownicy2 (prac_id, prac_spec)
- VALUES (101, sys.XMLType.createXML
- ('<Pracownicy nr="100">
- <charakter_zatrudnienia>Etatowy</charakter_zatrudnienia >
- </Pracownicy >'));
- 4.10
- SELECT * FROM PRACOWNICY2;
- 4.11
- SELECT prac_spec "Info o pracownikach" FROM PRACOWNICY2 ;
- 4.12
- SELECT p.prac_spec.extract
- ('/Pracownicy/charakter_zatrudnienia/text()').getStringVal() "Rodzaj umowy"
- FROM pracownicy2 p;
- 4.13
- UPDATE PRACOWNICY2 SET prac_spec=sys.XMLType.createXML('<Pracownicy nr ="200">
- <charakter_zatrudnienia>Umowa-zlecenie</charakter_zatrudnienia>
- </Pracownicy>');
- 4.14
- SELECT * FROM PRACOWNICY2;
- 4.15
- INSERT INTO pracownicy2 (prac_id, prac_spec)
- VALUES (102, sys.XMLType.createXML
- ('<Pracownicy nr="100">
- <charakter_zatrudnienia>Dorywczo</charakter_zatrudnienia >
- </Pracownicy >'));
- 4.16
- SELECT * FROM PRACOWNICY2;
- 4.17
- CREATE INDEX prac_idx ON pracownicy2 p
- (p.prac_spec.extract('//Pracownicy').getStringVal());
- 4.18
- DELETE FROM pracownicy2 p WHERE p.prac_spec.extract
- ('// Pracownicy/charakter_zatrudnienia /text()').getStringVal() = 'Dorywczo';
- 4.19
- GRANT xdbadmin TO ora5;
- GRANT ALTER SESSION TO ora5;
- 4.20
- <?xml version="1.0" encoding="UTF-8"?>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:xdb="http://xmlns.oracle.com/xdb"
- version="1.0">
- <xs:element name="ksiazka" xdb:SQLType="BOOK_T">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="tytul" type="xs:string"/>
- <xs:element name="cena" type="xs:float" xdb:SQLName="CENA" xdb:SQLType="FLOAT"/>
- <xs:element name="autorzy" minOccurs="0" maxOccurs="1" xdb:SQLType="CLOB">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="autor" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="wydawnictwo" type="xs:string"/>
- <xs:element name="rok" type="xs:integer"/>
- </xs:sequence>
- <xs:attribute name="isbn" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:schema>
- 4.21
- CREATE TABLE ksiazki_col_xsd
- (id NUMBER,
- pozycja XMLType)
- XMLTYPE COLUMN pozycja STORE AS OBJECT RELATIONAL
- XMLSCHEMA "SCHEMA1"
- ELEMENT "ksiazka";
- 4.22
- insert into ksiazki_col_xsd values (1,
- sys.XMLType.createXML('
- <ksiazka>
- <tytul>Ksiazka1</tytul>
- <cena>10</cena>
- <autorzy><autor>Autor1</autor></autorzy>
- </ksiazka>
- '));
- insert into ksiazki_col_xsd values (2,
- sys.XMLType.createXML('
- <ksiazka>
- <tytul>Ksiazka2</tytul>
- <cena>20</cena>
- <autorzy><autor>Autor2</autor></autorzy>
- </ksiazka>
- '));
- insert into ksiazki_col_xsd values (3,
- sys.XMLType.createXML('
- <ksiazka>
- <tytul>Ksiazka3</tytul>
- <cena>30</cena>
- <autorzy><autor>Autor3</autor></autorzy>
- </ksiazka>
- '));
- 4.23
- create table ksiazki_col_clob_xsd(nr NUMBER(20), pozycja XMLType) XMLTYPE COLUMN pozycja STORE as CLOB;
- 4.24
- INSERT INTO ksiazki_col_clob_xsd (nr, pozycja)
- VALUES (101, sys.XMLType.createXML('
- <ksiazka>
- <tytul>Ksiazka 9000</tytul>
- <cena>9000</cena>
- <autorzy><autor>Songoku</autor></autorzy>
- </ksiazka>
- '));
- INSERT INTO ksiazki_col_clob_xsd (nr, pozycja)
- VALUES (102, sys.XMLType.createXML('
- <ksiazka>
- <tytul>Ksiazka 101</tytul>
- <cena>101</cena>
- <autorzy><autor>101 Dalmatynczykow</autor></autorzy>
- </ksiazka>
- '));
- SELECT * from ksiazki_col_clob_xsd;
- 4.25
- CREATE TABLE ksiazki_table_xsd OF sys.XMLType
- XMLSCHEMA "SCHEMA1"
- ELEMENT "ksiazka";
- 4.26
- INSERT INTO ksiazki_table_xsd VALUES (sys.XMLType.createXML('
- <ksiazka>
- <tytul>Leniwy slon</tytul>
- <cena>100</cena>
- <autorzy><autor>Alexandro Del Piero</autor></autorzy>
- </ksiazka>
- '));
- INSERT INTO ksiazki_table_xsd VALUES (sys.XMLType.createXML('
- <ksiazka>
- <tytul>O muzyce alternatywnej</tytul>
- <cena>1</cena>
- <autorzy><autor>Doda</autor></autorzy>
- </ksiazka>
- '));
- 4.27
- SELECT t.getClobVal() from ksiazki_table_xsd t;
- 4.28
- SELECT * FROM USER_XML_TABLES;
Add Comment
Please, Sign In to add comment