+ All Categories
Home > Documents > SQL STANDARDI - Home page Matematickog...

SQL STANDARDI - Home page Matematickog...

Date post: 24-May-2018
Category:
Upload: voquynh
View: 229 times
Download: 2 times
Share this document with a friend
37
SQL STANDARDI 1/37
Transcript
Page 1: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL STANDARDI

1/37

Page 2: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

Cilj, organizacije

• Prenosivost definicija baza podataka i aplikativnih programa među implementacijama koje su saglasne sa standardom

• 1986. prvi standard - ANSI SQL/86 X3H2 komitet

• ANSI - American National Standard Institute,

• ISO - International Standard Organization,

• FIPS - Federal Information Processing Standards for the US federal government,

• IEC – International Electrotechnical Commision

2/37

Page 3: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

Međunarodno telo:

ISO/IEC JTC1

3/37

Page 4: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

Podkomitet SC32

4/37

Page 5: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

Radne grupe (WG) SC32

• WG1 e-Business: Open EDI (Electronic Data

Interchange, Finska)

• WG2 Metadata (SAD)

• WG3 Database Languages (Holandija)

• WG4 SQL Multimedia and Application Packages

(Japan)

• WG5: Remote Database Access (RDA) (Velika

Britanija)

5/37

Page 6: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

WG3 Database Languages: publikovani

standardi

6/37

Page 7: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

WG3 Database Languages: publikovani

standardi• WG4 – SQL/MM

• 5. izdanje: ISO/IEC 9075:2003

• 6. izdanje: ISO/IEC 9075:2008, (deo 14 2006: revidirani

"SQL/XML“ iz 2003.)

• 7. izdanje: ISO/IEC 9075:2011

• reakcioni / anticipatorni standardi

7/37

Page 8: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL 92 (SQL2)

• Početni- “entry”: (blaga poboljšanja punog SQL 89) -definisanje sheme, DML, referencijalni integritet, constraint, ugnježdenje (7 jezika), CHECK opciju pogleda...

• Srednji – “intermediate”: promena sheme, dinamički SQL, kaskadno brisanje, unija, presek i razlika, karakterski skupovi,VARCHAR, CASE, domeni, DATE-TIME (jednostavni)

• Puni – “full”: kaskadno ažuriranje, odložena provera ograničenja, ograničenja opšteg tipa (assertion), BIT-tip,...

8/37

Page 9: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL 92

• DDL – ranije

• DML• Nove skalarne operacije i funkcije, npr. || - dopisivanje, CASE –

uslovna vrednost, aritmetika nad DATETIME tipom, SUBSTRING(), UPPER(), LOWER(), LENGTH()

• Dijagnostika: SQLCODE, SQLSTATE, GET DIAGNOSTICS

• Lista izvedenih tabela u FROM liniji, npr.

SELECT P_SIF, I_SIF

FROM P, (SELECT *

FROM I

WHERE STATUS > 10) AS DOBRIIZD

WHERE P.DRZAVA = DOBRIIZD.DRZAVA

9/37

Page 10: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL 92

• Dodela imena izvedenoj koloni, npr.SELECT K_SIF, I_SIF, 'Tiraz u hilj.=' AS KOM,

TIRAZ/1000 AS TuH

FROM KI

• Dekartov proizvod, prošireno prirodno, slobodno

spajanje, unija - operacija oblikatabela-1 CROSS JOIN |

[NATURAL] [INNER|LEFT|RIGHT|FULL|UNION] JOIN

tabela-2

[ON logički-izraz]

• Prošireno spajanje, primer 1SELECT *

FROM (I NATURAL FULL JOIN KI)

10/37

Page 11: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL 92

• Prošireno spajanje, primer 2

• K( K_SIF, NASLOV, OBLAST)

• KI(K_SIF, I_SIF, IZDANJE, GODINA, TIRAZ)

• “Za svaku knjigu, prikazati ukupni tiraž svih njenih izdanja.”SELECT K_SIF, SUM(TIRAZ) AS TIR

FROM KI

GROUP BY K_SIF

• “Ako knjiga nema izdanja, prikazati vrednost NULL“SELECT K.K_SIF, SUM(TIRAZ) AS TIR

FROM (K NATURAL LEFT JOIN KI)

GROUP BY K.K_SIF

• “Ako knjiga nema izdanja, prikazati vrednost 0“SELECT K.K_SIF,

CASE SUM(TIRAZ) IS NULL

WHEN 1 THEN 0 ELSE SUM(TIRAZ) END AS TIR

FROM (K NATURAL LEFT JOIN KI)

GROUP BY K.K_SIF

11/37

Page 12: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL 92

• TABLE T, ekvivalentan sa

(SELECT * FROM T)• SELECT upitni blok u SELECT liniji, npr.

SELECT I.I_SIF, (SELECT SUM(KI.TIRAZ)

FROM KI

WHERE KI.I_SIF = I.I_SIF ) AS

UK_TIRAZ

FROM I

• Prošireni logički izrazi, npr.

(p) IS [NOT] TRUE ((p) je (nije) tačno)

(p) IS [NOT] FALSE ((p) je (nije) netačno)

(p) IS [NOT] UNKNOWN ((p) je (nije) nepoznato)

12/37

Page 13: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL 92

• Konekcija klijenta na server

• Aplikativni SQL

• ...

13/37

Page 14: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3)

• Nije jednistven standard (5 delova + 3 kasnije)

• OO SQL, 7 godina (planiran za 1995.)

• Regularni izrazi

• Rekurzivni upiti

• Trigeri

• Kontrolne strukture

• Kompleksni (strukturni, ne-skalarni) tipovi

• Neka OO svojstva

14/37

Page 15: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – relaciona (ne-OO)

svojstva• Novi tipovi podataka

• Novi predikati

• Bogatija semantika

• Bolja bezbednost (hijerarhijska struktura uloga i

privilegija)

• Aktivne baze (trigeri)

15/37

Page 16: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – novi tipovi podataka

• LARGE OBJECT (LOB), CLOB, BLOB; ograničenja

• BOOLEAN (true, false, unknown)

• Strukturni tipovi: ARRAY, ROW• Primer 1: kolona DANI VARCHAR(10) ARRAY[7]

• Primer 2: CREATE TABLE EMPLOYEE

(EMP-ID INTEGER,

NAME ROW (

FIRST VARCHAR(30),

LAST VARCHAR(30)),

ADDRESS ROW (

STREET VARCHAR(50),

CITY VARCHAR(30),

STATE CHAR(2) ),

SALARY REAL )

SELECT E.NAME.LAST FROM EMPLOYEE E

16/37

Page 17: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – jednostavni korisnički

definisani tipovi• DISTINCT TYPES – ne mogu da se porede, npr. IQ, BrojCipela (oba

integer), npr.

• CREATE TYPE IQ AS INTEGER;

• CREATE TYPE BrojCipela AS INTEGER;

• CREATE TABLE NONS

(MojBrojCipela BrojCipela,

MojIQ IQ);

• CAST npr.

• SELECT * FROM NONS

WHERE MojBrojCipela > CAST (MojIQ AS BrojCipela)

• Primer 2: SET MojIQ = MojIQ * CAST(2 AS IQ)

17/37

Page 18: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – novi predikati

• Predikat SIMILAR (UNIX-like regularni izraz)

• Primer:

WHERE NAME SIMILAR TO

'(SQL-(86|89|92|99))|(SQL(1|2|3))‘

18/37

Page 19: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – bogatija semantika

• Pogledi: proširen skup pogleda koji se mogu ažurirati (funkcionalne zavisnosti, pravila ažuriranja baznih tabela)

• Rekurzija: WITH RECURSIVE

Q1 AS SELECT...FROM...WHERE...,

Q2 AS SELECT...FROM...WHERE...

SELECT...FROM Q1, Q2 WHERE...

• Tačke pamćenja, podtransakcije

19/37

Page 20: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – rekurzija: primer

WITH RECURSIVE subpart (major_p, minor_p) AS

( SELECT major_p, minor_pFROM part_structure WHERE major_p =“P1”

UNION ALL SELECT subpart.major_p, part_structure.minor_p FROM subpart, part_structureWHERE subpart.minor_p = part_structure.major_p )

SELECT DISTINCT major_p, minor_p FROM subpart

20/37

Page 21: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – OO svojstvastrukturni korisnički-definisani tipovi

• Strukturni korisnički-definisani tipovi, sa atributima svih mogućih tipova, npr. INTEGER, ARRAY, drugi strukturni korisnički-definisani tipovi, REF

• Tip REF – jedinstveni identifikator vrednostistrukturnog korisnički definisanog tipa

• Primer: emp_type, podtip od person_type (nasleđivanje, hijerarhija), može da ima vrednosti (INSTANTIABLE) i podtipove (NOT FINAL); jedinstveni identifikator je EMP_ID (referenca), deklaracija metodeGIVE_RAISE

• Ponašanje ovih tipova zadaje se funkcijama, procedurama ili metodama

• Poređenje vrednosti zadaje se korisnički-definisanim funkcijama

• (CREATE ORDERING…)

21/37

Page 22: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – OO svojstva

metode / funkcije

CREATE METHOD GIVE_RAISE

(AMOUNT REAL)

RETURNS REAL

BEGIN

RETURN AMOUNT * SELF.SALARY;

END;

• Funkcija: primer

• Tabela tblA(_idx, code, name)

CREATE FUNCTION gettblA (idx

int)

RETURNS TEXT

READS SQL DATA

BEGIN SELECT CONCAT(code,

name) INTO resultTbl

FROM tblA

WHERE _idx = idx;

RETURN resultTbl;

END

22/37

Page 23: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – OO svojstva -

metode• Metode – različite od SQL-pozvanih funkcija

• Vezane za jedinstveni korisnički tip (funkcije nisu)

• Korisnički tip za koji je metoda vezana je tip prvog arumenta metode, koji se ne deklariše

• Metode moraju da budu smeštene u istoj shemi kao i tipovi za koje su vezane

• I funkcije i metode – u SQL/PSM ili u programskom jeziku, npr. JAVA, C

23/37

Page 24: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – OO svojstva -

metode• Pristup atributima korisnički-definisanih tipova -“.” notacijom, npr.WHERE emp.salary > 10000

WHERE salary(emp) > 10000

(ako je objekat emp tipa emp_type, salary atribut, ili je definisana funkcija salary sa jednim argumentom tipaemp_type)

• metoda koristi “.” notaciju kada se primenjuje na tip za koji je vezana, npr. emp.give_raise(amount)

(ako je emp objekat definisan nad tipom emp_type)

24/37

Page 25: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – OO svojstva –

tipizirana tabela• Tipizirane tabele (tabele nad tipom, “typed tables”, ako je to

strukturni korisnički definisani tip) npr. CREATE TABLE empls OF emp_type

(Definicije kolona su izvedene iz atributa strukturnog tipa)

• Funkcije, metode, procedure, definisane za tip, sada se primenjuju na vrste tabele!

• Svaka vrsta ima OID: REF tip (samo ako je tipizirana tabela!) • Obraćanje vrstama tipizirane tabele, npr. u tabeli KOMPANIJA atribut

manager može da bude definisan sa manager REF(emp_type) with scope empls

• Korišćenje REF-tipa: SELECT manager->salary

25/37

Page 26: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:1999 (SQL3) – tipizirana tabela,

primerCREATE TYPE bioskop_t

AS (br_b integer,

ime text,

adresa text,

telefon text)

REF (br_b)

CREATE TABLE Bioskopi OF bioskop_t;

CREATE TABLE TrenutnoSePrikazuju

(film integer,

bioskop ref(bioskop_t) with scope Bioskopi,

pocetak date,

kraj date);

26/37

Page 27: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

/

27

Page 28: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2003

• “bugfix release” - revizija standarda SQL:1999

• novi (14.) deo: SQL/XML svojstva

• novi tipovi podataka,

• proširenja SQL-rutina (funkcija za definisanje tabele),

• proširenja CREATE TABLE iskaza (LIKE, AS – slično materijalizovanim pogledima),

• novi MERGE iskaz,

• OLAP, itd.

28/37

Page 29: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2003

• ISO/IEC 9075(1-4,9-11,13,14):2003 • ISO/IEC 9075-1:2003 – Framework (SQL/Framework) • ISO/IEC 9075-2:2003 – Foundation (SQL/Foundation) • ISO/IEC 9075-3:2003 – Call-Level Interface (SQL/CLI) • ISO/IEC 9075-4:2003 – Persistent Stored Modules (SQL/PSM) • ISO/IEC 9075-9:2003 – Management of External Data (SQL/MED) • ISO/IEC 9075-10:2003 – Object Language Bindings (SQL/OLB) • ISO/IEC 9075-11:2003 – Information and Definition Schemas

(SQL/Schemata) • ISO/IEC 9075-13:2003 – SQL Routines and Types Using the Java

Programming Language (SQL/JRT) • ISO/IEC 9075-14:2003 – XML-Related Specifications (SQL/XML)

29/37

Page 30: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2003 – tipovi podataka

• Uklonjeni BIT i BIT VARYING tipovi

• Novi tipovi: BIGINT, MULTISET, XML

• MULTISET: sličan ARRAY, ali bez uređenja, npr.MULTISET[1, 2, 3, 4] or

MULTISET(SELECT grades FROM courses)

• MULTISET agregatne funkcije – COLLECT,

FUSION, INTERSECTION, primer:

30/37

Page 31: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2003 – tipovi podataka

• CREATE TABLE logins( session_id INT NOT NULL PRIMARY KEY, successful BOOLEAN NOT NULL, uid INT, attempts ROW(VARCHAR(128),VARCHAR(128)) MULTISET);

• INSERT INTO logins VALUES( 1000,true,0, MULTISET(

ROW('root','31337'), ROW('scott','tiger'), ROW('root','beer')));

• INSERT INTO logins VALUES( 1001,false,0,MULTISET(SELECT ROW(name,password)

FROM bogus_accounts));

31/37

Page 32: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2003 – tipovi podataka

SELECT COLLECT(FRIEND) AS ALL_FRIENDS, FUSION(HOBBIES) AS

ALL_HOBBIES, INTERSECTION(HOBBIES) AS COMMON_HOBBIES

FROM FRIENDS

32/37

Page 33: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2003 – SQL/XML

• SQL Funkcije:

• XMLElement()

• XMLAttributes()

• XMLForest()

• XMLSequence()

• XMLConcat()

• XMLAgg(), na primer

33/37

Page 34: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2003 – MERGE iskaz34/37

Page 35: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2006 (2008)

• ISO/IEC 9075-14:2006

• Definiše kako se SQL koristi zajedno sa XML-om

• Definiše načine unošenja (import) i skladištenja XML

podataka u SQL bazi podataka, manipulisanja i

izdavanja XML i konvencionalnih SQL podataka u XML

formatu

• Mogućnost integracije (u aplikaciji) SQL koda i XQuery,

XML upitnog jezika (W3C)

• Konkurentni pristup običnim SQL podacima i XML

dokumentima.

35/37

Page 36: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2011

• Na primer, tabele

Inventory(Part, Qty),

Changes(Part, Qty, Action)

DELETE u MERGEMERGE INTO Inventory AS I

USING Changes AS C ON I.Part = C.Part

WHEN MATCHED AND C.Action = 'Mod' THEN

UPDATE SET Qty = Qty + C.Qty

WHEN MATCHED AND C.Action = 'Dis' THEN

DELETE

WHEN NOT MATCHED AND C.Action = 'Mod’ THEN

INSERT VALUES (C.Part, C.Qty)

36/37

Page 37: SQL STANDARDI - Home page Matematickog fakultetapoincare.matf.bg.ac.rs/~gordana/UvodRBP/SQLstandardi.pdfSQL:1999 (SQL3) – jednostavni korisnički definisani tipovi • DISTINCT TYPES

SQL:2011

• Pipelined DML

• INSERT, UPDATE, DELETE u SELECT naredbi

• Primer:

SELECT Oldtable.Empno

FROM OLD TABLE (DELETE FROM EmpWHERE Deptno = 2)

AS Oldtable

SELECT Newtable.Empno

FROM NEW TABLE (UPDATE EMP

SET Salary = 0

WHERE Empno > 100)

AS Newtable

37/37


Recommended