Funkcija Oracle Sequence Nextval

Funkcija Oracle Sequence Nextval



U Oracleu, niz se odnosi na objekt baze podataka koji generira niz numeričkih vrijednosti prema određenom prirastu. Nizovi se obično koriste za generiranje jedinstvenih vrijednosti primarnog ključa za zapise u tablici baze podataka.

U ovom vodiču naučit ćemo kako koristiti funkciju NEXTVAL pri radu s Oracle sekvencama.

NAPOMENA: Ovaj vodič ne pokriva osnove stvaranja Oracle sekvence. Pogledajte naš vodič o Oracle sekvencama da biste otkrili više.







Oracleova funkcija Nextval

Funkcija nextval u Oracle nizu koristi se za dohvaćanje sljedeće vrijednosti u danom nizu.



Sintaksu funkcije možemo izraziti kao što je prikazano u sljedećem isječku koda:



naziv_sekvence.nextval

Funkcija ne prihvaća nijedan argument ili parametar. Zatim vraća sljedeću vrijednost u definiranom nizu.





Primjer demonstracije funkcije

Uzmimo u obzir primjer. Počinjemo definiranjem jednostavnog Oracle niza kao što je prikazano u sljedećem kodu:

CREATE SEQUENCE test_sequence
POČETI SA 1
POVEĆAJ ZA 1 ;

Koristimo naredbu CREATE SEQUENCE za inicijalizaciju nove Oracle sekvence. Zatim definiramo od koje vrijednosti niz počinje i vrijednost povećanja za svaku novu generiranu vrijednost.



U našem primjeru, test_sequence počinje od vrijednosti 1 i povećava se za jedan na svakoj novoj vrijednosti. Ovo bi trebalo generirati niz numeričkih vrijednosti počevši od 1,2,3,4,5…itd.

Korištenje Oracle Nextval funkcije

Možemo upotrijebiti funkciju sljedeće vrijednosti iz niza test_sequence da dobijemo sljedeću vrijednost, kao što je prikazano u nastavku:

Izaberi test_sequence.nextval iz dual;

Ovo bi trebalo vratiti sljedeću vrijednost iz niza kao što je prikazano u nastavku:

Ako ponovno pozovete naredbu, ona bi trebala vratiti sljedeću vrijednost u nizu koja je 2.

To se nastavlja sve dok se vrijednosti ne potroše ili dok ne dosegnete maksimalnu vrijednost definiranu u nizu. Pogledajte naš vodič za Oracle slijed kako biste naučili kako postaviti minimalne i maksimalne vrijednosti.

Korištenje funkcije Nextval za ponavljanje vrijednosti

Također možemo koristiti funkciju nextval za ispis brojeva od 1 do 10 kao što je prikazano u sljedećem kodu:

STVARAJ NIZ looper_sequence
POČETI SA 1
POVEĆAJ ZA 1 ;

postaviti SERVEROUTPUT uključen;
POČETI
ZA i IN 1 .. 10
PETLJA
DBMS_OUTPUT.PUT_LINE ( petlja_slijed.nextval ) ;
ZAVRŠNA PETLJA;
KRAJ;

Navedeni kod stvara novi niz pod nazivom looper_sequence koji počinje od 1 i povećava se za 1 za svaku novu generiranu vrijednost.

Zatim omogućujemo opciju SERVEROUTPUT koja paketu DBMS_OUTPUT omogućuje prikaz poruka u SQL*Plus konzoli.

Na kraju, prilažemo for petlju unutar end/begin naredbe za iteraciju kroz raspon vrijednosti od 1 do 10. Zatim pozivamo funkciju DBMS_OUTPUT.PUT_LINE za svaku vrijednost u rasponu i ispisujemo sljedeću vrijednost u nizu looper_sequence u konzola.

Kod ispisuje sljedećih deset vrijednosti u nizu petlje. U našem slučaju to će biti vrijednost od 1 do 10 ili 11 – 20… i tako redom za svaki novi poziv.

Rezultirajući izlaz :

1
2
3
4
5
6
7
8
9
10


PL / SQL procedura uspješno završena.

Korištenje funkcije Nextval u naredbi Insert

Također možemo koristiti funkciju nextval u naredbi za umetanje kao primarni ključ. Na primjer:

umetnuti u korisnika ( iskaznica ,ime,kreditna_kartica,država )
vrijednosti ( test_sequence.nextval, 'James Smith' , '4278793631436711' , 'Ujedinjeni Arapski Emirati' ) ;

U navedenom primjeru pozivamo funkciju nextval iz test_sequence da bismo u tablicu umetnuli vrijednost za stupac id.

Zaključak

U ovom ste postu otkrili kako koristiti Oracle nextval funkciju za dohvaćanje sljedeće vrijednosti u nizu. Također ste naučili kako koristiti funkciju za ponavljanje skupa vrijednosti ili za umetanje jedinstvene vrijednosti u stupac tablice.