Oracle Sequence Nextval funkcija

Oracle Sequence Nextval Funkcija



Programmā Oracle secība attiecas uz datu bāzes objektu, kas ģenerē skaitlisko vērtību sēriju atbilstoši noteiktam pieaugumam. Secības parasti izmanto, lai ģenerētu unikālās primārās atslēgas vērtības ierakstiem datu bāzes tabulā.

Šajā apmācībā mēs uzzināsim, kā izmantot NEXTVAL funkciju, strādājot ar Oracle sekvencēm.

PIEZĪME. Šajā apmācībā nav apskatīti Oracle secības izveides pamati. Lai uzzinātu vairāk, skatiet mūsu pamācību par Oracle sekvencēm.







Oracle Nextval funkcija

Funkcija nextval Oracle secībā tiek izmantota, lai iegūtu nākamo vērtību noteiktā secībā.



Mēs varam izteikt funkcijas sintaksi, kā parādīts šajā koda fragmentā:



secības_nosaukums.nextval

Funkcija nepieņem nevienu argumentu vai parametru. Pēc tam tas atgriež nākamo vērtību definētajā secībā.





Funkcijas demonstrācijas piemērs

Ņemsim vērā piemēru. Mēs sākam, definējot vienkāršu Oracle secību, kā parādīts šajā kodā:

CREATE SEQUENCE test_sequence
SĀKT AR 1
PIEAUGS PAR 1 ;

Mēs izmantojam priekšrakstu CREATE SEQUENCE, lai inicializētu jaunu Oracle secību. Pēc tam mēs definējam, ar kādu vērtību secība sākas, un pieauguma vērtību katrai jaunai ģenerētajai vērtībai.



Mūsu piemērā test_sequence sākas ar vērtību 1 un palielinās par vienu katrai jaunai vērtībai. Tam vajadzētu ģenerēt skaitlisko vērtību sēriju, sākot ar 1, 2, 3, 4, 5 utt.

Izmantojot Oracle Nextval funkciju

Mēs varam izmantot nākamās vērtības funkciju no secības test_sequence, lai iegūtu nākamo vērtību, kā parādīts tālāk:

izvēlieties test_sequence.nextval no dual;

Tam vajadzētu atgriezt nākamo vērtību no secības, kā parādīts tālāk.

Ja izsaucat paziņojumu vēlreiz, tam ir jāatgriež nākamā sērijas vērtība, kas ir 2.

Tas turpinās, līdz vērtības ir izsmeltas vai tiek sasniegta maksimālā vērtība, kas ir noteikta secībā. Apskatiet mūsu Oracle secības pamācību, lai uzzinātu, kā iestatīt minimālās un maksimālās vērtības.

Funkcijas Nextval izmantošana vērtību cilpai

Mēs varam arī izmantot funkciju nextval, lai izdrukātu skaitļus no 1 līdz 10, kā parādīts šajā kodā:

CREATE SEQUENCE looper_sequence
SĀKT AR 1
PIEAUGS PAR 1 ;

komplekts SERVEROUTPUT ieslēgts;
SĀKT
PAR I I IEKŠU 1 .. 10
CILPA
DBMS_OUTPUT.PUT_LINE ( looper_sequence.nextval ) ;
BEIGAS CILPA;
BEIGAS;

Norādītais kods izveido jaunu secību ar nosaukumu looper_sequence, kas sākas ar 1 un palielinās par 1 katrai jaunai ģenerētajai vērtībai.

Pēc tam mēs iespējojam opciju SERVEROUTPUT, kas ļauj pakotnei DBMS_OUTPUT parādīt ziņojumus SQL*Plus konsolē.

Visbeidzot, priekšraksta beigu/sākšanas iekšpusē ievietojam for cilpu, lai atkārtotu vērtību diapazonu no 1 līdz 10. Pēc tam katrai diapazona vērtībai izsaucam funkciju DBMS_OUTPUT.PUT_LINE un izdrukājam nākamo vērtību secībā looper_sequence uz konsole.

Kods izdrukā nākamās desmit vērtības looper secībā. Mūsu gadījumā tā būs vērtība no 1 līdz 10 vai 11 - 20… un tā tālāk katram jaunam zvanam.

Iegūtā izvade :

1
2
3
4
5
6
7
8
9
10


PL / SQL procedūra veiksmīgi pabeigta.

Funkcijas Nextval izmantošana ievietošanas paziņojumā

Funkciju nextval varam izmantot arī ievietošanas priekšrakstā kā primāro atslēgu. Piemēram:

ievietot iekšā lietotājiem ( id ,vārds,kredītkarte,valsts )
vērtības ( test_sequence.nextval, 'Džeimss Smits' , “4278793631436711” , 'Apvienotie Arābu Emirāti' ) ;

Dotajā piemērā mēs izsaucam funkciju nextval no test_sequence, lai tabulā ievietotu id kolonnas vērtību.

Secinājums

Šajā ziņojumā jūs atklājāt, kā izmantot Oracle nextval funkciju, lai iegūtu nākamo vērtību secībā. Jūs arī uzzinājāt, kā izmantot funkciju, lai atkārtotu vērtību kopu vai ievietotu unikālu vērtību tabulas kolonnā.