Oracle Sequence Nextval függvény

Oracle Sequence Nextval Fuggveny



Az Oracle-ben a sorozat egy adatbázis-objektumra utal, amely számértékek sorozatát állítja elő egy meghatározott növekmény szerint. A szekvenciákat általában az adatbázistábla rekordjainak egyedi elsődleges kulcsértékeinek generálására használják.

Ebben az oktatóanyagban megtanuljuk, hogyan kell használni a NEXTVAL függvényt Oracle szekvenciákkal végzett munka során.

MEGJEGYZÉS: Ez az oktatóanyag nem fedi le az Oracle sorozat létrehozásának alapjait. További információért tekintse meg az Oracle szekvenciákról szóló oktatóanyagunkat.







Oracle Nextval függvény

Az Oracle szekvenciában a nextval függvény az adott sorozat következő értékének lekérésére szolgál.



A függvény szintaxisát a következő kódrészletben látható módon tudjuk kifejezni:



szekvencia_neve.nextval

A függvény nem fogad el argumentumot vagy paramétert. Ezután a következő értéket adja vissza a meghatározott sorozatban.





Példa funkció bemutatására

Vegyünk egy példát. Kezdjük egy egyszerű Oracle szekvencia meghatározásával, amint az a következő kódban látható:

CREATE SEQUENCE test_sequence
KEZDENI VALAMIVEL 1
NÖVEKEDÉS: 1 ;

A CREATE SEQUENCE utasítást használjuk egy új Oracle sorozat inicializálására. Ezután meghatározzuk, hogy a sorozat milyen értékkel kezdődik, és minden egyes új generált értékhez növekszik az érték.



Példánkban a test_sequence 1 értékkel kezdődik, és minden új értéknél eggyel nő. Ennek egy sor számértéket kell generálnia 1, 2, 3, 4, 5… stb.

Az Oracle Nextval függvény használata

Használhatjuk a következő érték függvényt a test_sequence sorozatból, hogy megkapjuk a következő értéket, amint az az alábbiakban látható:

válassza ki test_sequence.nextval innen: dual;

Ennek vissza kell adnia a következő értéket a sorozatból, ahogy az az alábbiakban látható:

Ha újra meghívja az utasítást, akkor a sorozat következő értékét kell visszaadnia, amely 2.

Ez addig folytatódik, amíg az értékek ki nem merülnek, vagy el nem éri a sorozatban meghatározott maximális értéket. Tekintse meg Oracle szekvencia oktatóanyagunkat, hogy megtudja, hogyan állíthatja be a minimális és maximális értékeket.

A Nextval függvény használata az értékek hurkolására

A nextval függvényt is használhatjuk az 1-től 10-ig terjedő számok kinyomtatására, ahogy az a következő kódban látható:

SEQUENCE LÉTREHOZÁSA looper_sequence
KEZDENI VALAMIVEL 1
NÖVEKEDÉS: 1 ;

készlet SERVEROUTPUT bekapcsolva;
KEZDŐDIK
FOR I IN 1 .. 10
HUROK
DBMS_OUTPUT.PUT_LINE ( looper_sequence.nextval ) ;
VÉGE hurok;
VÉGE;

A megadott kód egy új sorozatot hoz létre looper_sequence néven, amely 1-gyel kezdődik, és 1-gyel növekszik minden új generált értéknél.

Ezután engedélyezzük a SERVEROUTPUT opciót, amely lehetővé teszi, hogy a DBMS_OUTPUT csomag megjelenítse az üzeneteket az SQL*Plus konzolon.

Végül bezárunk egy for ciklust egy end/begin utasításba, hogy az 1-től 10-ig terjedő értéktartományon belül ismétlődjön. Ezután a tartomány minden értékéhez meghívjuk a DBMS_OUTPUT.PUT_LINE függvényt, és kinyomtatjuk a looper_sequence sorozat következő értékét a konzol.

A kód kiírja a huroksorozat következő tíz értékét. Esetünkben ez az érték 1-től 10-ig vagy 11-től 20-ig… és így tovább minden új hívásnál.

Eredmény kimenet :

1
2
3
4
5
6
7
8
9
10


PL / Az SQL eljárás sikeresen befejeződött.

A Nextval függvény használata beszúrási utasításban

A nextval függvényt az insert utasításban is használhatjuk elsődleges kulcsként. Például:

illessze be felhasználókat ( id ,keresztnév,hitelkártya,ország )
értékeket ( test_sequence.nextval, 'James Smith' , „4278793631436711” , 'Egyesült Arab Emírségek' ) ;

Az adott példában a test_sequence-ből hívjuk meg a nextval függvényt, hogy beillesszük az id oszlop értékét a táblázatba.

Következtetés

Ebben a bejegyzésben felfedezte, hogyan használhatja az Oracle nextval függvényét a sorozat következő értékének lekérésére. Azt is megtanulta, hogyan használhatja a függvényt értékhalmazok iterálására vagy egyedi érték beszúrására a táblázat oszlopába.