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_sequenceALUSTAGE 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_sequenceALUSTAGE 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 :
12
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.