Funktsioon Oracle Sequence Nextval

Funktsioon Oracle Sequence Nextval



Oracle'is viitab jada andmebaasiobjektile, mis genereerib arvväärtuste jada vastavalt määratud juurdekasvule. Andmebaasi tabeli kirjete jaoks ainulaadsete primaarvõtme väärtuste genereerimiseks kasutatakse tavaliselt järjestusi.

Selles õpetuses õpime kasutama funktsiooni NEXTVAL Oracle'i järjestustega töötamisel.

MÄRKUS. See õpetus ei hõlma Oracle'i jada loomise põhitõdesid. Lisateabe saamiseks vaadake meie õpetust Oracle'i järjestuste kohta.







Oracle Nextvali funktsioon

Oracle'i jada funktsiooni nextval kasutatakse antud jada järgmise väärtuse toomiseks.



Funktsiooni süntaksit saame väljendada nii, nagu on näidatud järgmises koodilõigul:



järjestuse_nimi.nextval

Funktsioon ei aktsepteeri ühtegi argumenti ega parameetrit. Seejärel tagastab see määratletud jada järgmise väärtuse.





Näidisfunktsiooni demonstreerimine

Võtkem arvesse näidet. Alustuseks määratleme lihtsa Oracle'i jada, nagu on näidatud järgmises koodis:

CREATE SEQUENCE test_sequence
ALUSTAGE 1
KASVATAMINE 1 ;

Uue Oracle'i jada lähtestamiseks kasutame käsku CREATE SEQUENCE. Seejärel määratleme, millisest väärtusest jada algab, ja iga uue genereeritud väärtuse juurdekasvu väärtuse.



Meie näites algab test_sequence väärtusest 1 ja suureneb iga uue väärtuse korral ühe võrra. See peaks genereerima arvväärtusi, mis algavad 1,2,3,4,5 jne.

Oracle Nextvali funktsiooni kasutamine

Järgmise väärtuse saamiseks saame kasutada järjestuse test_sequence järgmise väärtuse funktsiooni, nagu on näidatud järgmises:

vali test_sequence.nextval alates dual;

See peaks tagastama jada järgmise väärtuse, nagu on näidatud järgmises:

Kui kutsute avalduse uuesti, peaks see tagastama seeria järgmise väärtuse, mis on 2.

See jätkub, kuni väärtused on ammendatud või jõuate järjestuses määratletud maksimumväärtuseni. Vaadake meie Oracle'i järjestuse õpetust, et teada saada, kuidas minimaalseid ja maksimaalseid väärtusi määrata.

Funktsiooni Nextval kasutamine väärtuste loomiseks

Funktsiooni nextval saame kasutada ka numbrite 1 kuni 10 printimiseks, nagu on näidatud järgmises koodis:

CREATE SEQUENCE looper_sequence
ALUSTAGE 1
KASVATAMINE 1 ;

seatud SERVEROUTPUT sees;
ALUSTA
MINU SISSE 1 .. 10
LOOP
DBMS_OUTPUT.PUT_LINE ( looper_sequence.nextval ) ;
END LOOP;
LÕPP;

Esitatud kood loob uue jada nimega looper_sequence, mis algab 1-st ja suureneb 1 võrra iga uue loodud väärtuse kohta.

Seejärel lubame suvandi SERVEROUTPUT, mis võimaldab paketil DBMS_OUTPUT kuvada sõnumeid konsoolis SQL*Plus.

Lõpuks lisame end/begin lause sisse tsükli for, et itereerida väärtuste vahemikus 1 kuni 10. Seejärel kutsume välja funktsiooni DBMS_OUTPUT.PUT_LINE iga vahemiku väärtuse jaoks ja prindime järgmise väärtuse looper_sequence järjestuses. konsool.

Kood prindib looperi jada järgmised kümme väärtust. Meie puhul on see väärtus vahemikus 1–10 või 11–20… ja nii edasi iga uue kõne puhul.

Tulemuslik väljund :

1
2
3
4
5
6
7
8
9
10


PL / SQL-protseduur on edukalt lõpule viidud.

Funktsiooni Nextval kasutamine lisalauses

Funktsiooni nextval saame kasutada ka lisalauses primaarvõtmena. Näiteks:

sisestada kasutajad ( id ,eesnimi,krediitkaart,riik )
väärtused ( test_sequence.nextval, 'James Smith' , '4278793631436711' , 'Araabia Ühendemiraadid' ) ;

Antud näites kutsume välja test_sequence funktsiooni nextval, et sisestada tabelisse id veeru väärtus.

Järeldus

Selles postituses avastasite, kuidas kasutada Oracle nextval funktsiooni jada järgmise väärtuse toomiseks. Samuti õppisite, kuidas kasutada funktsiooni väärtuste kogumi kordamiseks või unikaalse väärtuse lisamiseks tabeli veergu.