1 / 16

Az Oracle SQL 4.a.

Az Oracle SQL 4.a. Sorozatok, pszeudooszlopok. A rádiótelefonokat kérem KIKAPCSOLNI!. Sorozatok. Mi a sorozat?. Egyedi egész számérték előállítására szolgál A számok növekvő vagy csökkenő sorozatot is alkothatnak Nem biztos, hogy az előállított számok sorozata hézagmentes lesz

deepak
Download Presentation

Az Oracle SQL 4.a.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Az Oracle SQL 4.a. Sorozatok, pszeudooszlopok Markó Tamás, PTE

  2. A rádiótelefonokat kérem KIKAPCSOLNI! Markó Tamás, PTE

  3. Sorozatok Markó Tamás, PTE

  4. Mi a sorozat? • Egyedi egész számérték előállítására szolgál • A számok növekvő vagy csökkenő sorozatot is alkothatnak • Nem biztos, hogy az előállított számok sorozata hézagmentes lesz • Leggyakrabban jelentés nélküli kulcsértékek („azonosítók”) előállítására használjuk Markó Tamás, PTE

  5. Sorozat létrehozása • Példa: 1-gyel kezdődő 1 lépésközű növekvő sorozat:CREATE SEQUENCE gyaksor; • Példa: 100-zal kezdődő 10 lépésközű növekvő sorozat:CREATE SEQUENCE szazas_sor START WITH 100 INCREMENT BY 10; Markó Tamás, PTE

  6. Sorozat következő értékének lekérdezése • Példa:SELECT gyaksor.NEXTVAL FROM DUAL; • A létrehozás utáni első lekérdezés a sorozat kezdőértékét adja vissza • Minden lekérdezés növeli a sorozat értékét a megadott lépésközzel Markó Tamás, PTE

  7. Sorozat aktuális értékének lekérdezése • Példa:SELECT gyaksor.CURRVAL FROM DUAL; • Ugyanazt az értéket adja, mint az előző NEXTVAL lekérdezése • Nem változtatja meg a sorozat értékét • Csak akkor működik, ha előtte a NEXTVAL-t már lekérdeztük az adott munkamenetben! Markó Tamás, PTE

  8. Sorozat törlése • Példa:DROP SEQUENCE gyaksor; Markó Tamás, PTE

  9. Pszeudooszlopok Markó Tamás, PTE

  10. Mi az a pszeudooszlop? • „Beépített”, rögzített nevű és tartalmú oszlop • Mindig létezik, nem módosítható, nem kötelező használni • Az Oracle szóhasználatában a sorozatoknál látott NEXTVAL és CURRVAL is pszeudooszlop • További pszeudooszlopok: • ROWID • ROWNUM • LEVEL • XMLDATA ezekre vonatkozóan lásd a gyári dokumentációt Markó Tamás, PTE

  11. A ROWID pszeudooszlop • Egy string, ami az adott sor (háttértárolón lévő) fizikai címéről ad információt speciális formában • Értéke egy adott tábla minden sorára különböző • Ilyen adatok tárolására van egy külön ROWID adattípus is • Egy rekord leggyorsabb elérése a… WHERE ROWID = …típusú kifejezéssel lehetséges • Példa:SELECT cikkszam, ROWID FROM cikk; Markó Tamás, PTE

  12. A ROWNUM pszeudooszlop • A megadja, hogy a SELECT utasítás hányadikként választotta ki a sort • A sorszámozás 1-gyel kezdődik • A sorszámok kiosztása még az ORDER BY előtt megtörténik:SELECT cikknev, ROWNUM FROM cikk;SELECT cikknev, ROWNUM FROM cikk ORDER BY cikknev;SELECT cikknev, ROWNUM FROM cikk ORDER BY egysegar; Markó Tamás, PTE

  13. A visszaadott sorok számának korlátozása 1. • Pl. az első három sor lekérdezése:SELECT cikkszam, egysegar FROM cikk WHERE ROWNUM<=3; • Az utolsó valahány sort nem lehet így lekérdezni!SELECT cikkszam, egysegar FROM cikk WHERE ROWNUM>3; soha nem ad vissza egyetlen sort sem! Markó Tamás, PTE

  14. A visszaadott sorok számának korlátozása 2. • Pl. a 2. - 4. sor lekérdezése:SELECT cikkszam, egysegar FROM (SELECT cikkszam, egysegar, ROWNUM as sor FROM cikk) WHERE sor >=2 AND sor <= 4; a belső SELECT sorszámaira a külső SELECT-ben adunk korlátozást Markó Tamás, PTE

  15. „Top-N query” • Pl. a három legolcsóbb cikk lekérdezése:SELECT * FROM (SELECT cikkszam, egysegar, FROM cikk ORDER BY egysegar) WHERE ROWNUM <= 3; a belső SELECT rendez, a külső SELECT korlátoz (a saját sorszámaira) Markó Tamás, PTE

  16. A visszaadott sorok számának korlátozása rendezett adatokra • Pl. a 2. - 4. legolcsóbb cikk lekérdezése:SELECT cikkszam, egysegar FROM (SELECT cikkszam, egysegar, ROWNUM as sor FROM (SELECT cikkszam, egysegar FROM cikk ORDER BY egysegar) WHERE sor >=2 AND sor <= 4; a belső SELECT rendez, a középső megsorszámozza, a külső SELECT korlátoz Markó Tamás, PTE

More Related