Funkcija Oracle Sequence Nextval

Funkcija Oracle Sequence Nextval



V Oraclu se zaporedje nanaša na objekt baze podatkov, ki generira vrsto številskih vrednosti v skladu z določenim prirastkom. Zaporedja se običajno uporabljajo za ustvarjanje edinstvenih vrednosti primarnega ključa za zapise v tabeli baze podatkov.

V tej vadnici se bomo naučili uporabljati funkcijo NEXTVAL pri delu z zaporedji Oracle.

OPOMBA: Ta vadnica ne pokriva osnov ustvarjanja zaporedja Oracle. Če želite izvedeti več, si oglejte našo vadnico o zaporedjih Oracle.







Funkcija Oracle Nextval

Funkcija nextval v zaporedju Oracle se uporablja za pridobivanje naslednje vrednosti v danem zaporedju.



Sintakso funkcije lahko izrazimo, kot je prikazano v naslednjem delčku kode:



ime_zaporedja.nextval

Funkcija ne sprejme nobenega argumenta ali parametra. Nato vrne naslednjo vrednost v definiranem zaporedju.





Primer predstavitve funkcije

Vzemimo v obzir primer. Začnemo z definiranjem preprostega zaporedja Oracle, kot je prikazano v naslednji kodi:

CREATE SEQUENCE test_sequence
ZAČETI Z 1
POVEČAJ ZA 1 ;

Za inicializacijo novega zaporedja Oracle uporabljamo stavek CREATE SEQUENCE. Nato določimo, pri kateri vrednosti se zaporedje začne, in vrednost prirastka za vsako novo generirano vrednost.



V našem primeru se test_sequence začne pri vrednosti 1 in se pri vsaki novi vrednosti poveča za ena. To bi moralo ustvariti vrsto številskih vrednosti, ki se začnejo pri 1,2,3,4,5… itd.

Uporaba funkcije Oracle Nextval

Uporabimo lahko funkcijo naslednje vrednosti iz zaporedja test_sequence, da dobimo naslednjo vrednost, kot je prikazano v nadaljevanju:

izberite test_sequence.nextval iz dual;

To bi moralo vrniti naslednjo vrednost iz zaporedja, kot je prikazano v naslednjem:

Če stavek znova pokličete, bi moral vrniti naslednjo vrednost v nizu, ki je 2.

To se nadaljuje, dokler vrednosti niso izčrpane ali dokler ne dosežete največje vrednosti, ki je definirana v zaporedju. Oglejte si našo vadnico o zaporedju Oracle, če želite izvedeti, kako nastaviti najnižje in največje vrednosti.

Uporaba funkcije Nextval za zanko čez vrednosti

Uporabimo lahko tudi funkcijo nextval za tiskanje števil od 1 do 10, kot je prikazano v naslednji kodi:

USTVARI ZAPOREDJE looper_sequence
ZAČETI Z 1
POVEČAJ ZA 1 ;

set SERVEROUTPUT vklopljen;
ZAČETI
ZA i IN 1 .. 10
ZANKA
DBMS_OUTPUT.PUT_LINE ( looper_sequence.nextval ) ;
KONČNA ZANKA;
KONEC;

Navedena koda ustvari novo zaporedje, imenovano looper_sequence, ki se začne pri 1 in se poveča za 1 za vsako novo generirano vrednost.

Nato omogočimo možnost SERVEROUTPUT, ki omogoča, da paket DBMS_OUTPUT prikaže sporočila v konzoli SQL*Plus.

Nazadnje priložimo zanko for v stavek end/begin za ponavljanje v obsegu vrednosti od 1 do 10. Nato pokličemo funkcijo DBMS_OUTPUT.PUT_LINE za vsako vrednost v obsegu in natisnemo naslednjo vrednost v zaporedju looper_sequence v konzola.

Koda natisne naslednjih deset vrednosti v zaporedju zanke. V našem primeru bo to vrednost od 1 do 10 ali 11 – 20… in tako naprej za vsak nov klic.

Končni rezultat :

1
2
3
4
5
6
7
8
9
10


PL / Postopek SQL uspešno zaključen.

Uporaba funkcije Nextval v stavku Insert

Funkcijo nextval lahko uporabimo tudi v stavku vstavljanja kot primarni ključ. Na primer:

vstavite v uporabniki ( id ,ime,kreditna_kartica,država )
vrednote ( test_sequence.nextval, 'James Smith' , '4278793631436711' , 'Združeni Arabski Emirati' ) ;

V danem primeru pokličemo funkcijo nextval iz test_sequence, da v tabelo vstavimo vrednost za stolpec id.

Zaključek

V tej objavi ste odkrili, kako uporabiti funkcijo Oracle nextval za pridobivanje naslednje vrednosti v zaporedju. Naučili ste se tudi, kako uporabiti funkcijo za ponavljanje niza vrednosti ali za vstavljanje edinstvene vrednosti v stolpec tabele.