Oracle Sequence Nextval Function

Oracle Sequence Nextval Function



Sa Oracle, ang isang sequence ay tumutukoy sa isang database object na bumubuo ng isang serye ng mga numeric na halaga ayon sa isang tinukoy na pagtaas. Karaniwang ginagamit ang mga pagkakasunud-sunod upang bumuo ng mga natatanging pangunahing pangunahing halaga para sa mga talaan sa isang talahanayan ng database.

Sa tutorial na ito, matututunan natin kung paano gamitin ang NEXTVAL Function kapag nagtatrabaho sa mga sequence ng Oracle.

TANDAAN: Ang tutorial na ito ay hindi sumasaklaw sa mga pangunahing kaalaman sa paglikha ng isang Oracle sequence. Sumangguni sa aming tutorial sa mga pagkakasunud-sunod ng Oracle upang tumuklas ng higit pa.







Oracle Nextval Function

Ang nextval function sa isang Oracle sequence ay ginagamit upang kunin ang susunod na value sa isang naibigay na sequence.



Maaari naming ipahayag ang syntax ng function tulad ng ipinapakita sa sumusunod na snippet ng code:



sequence_name.nextval

Ang function ay hindi tumatanggap ng anumang argumento o parameter. Pagkatapos ay ibinabalik nito ang susunod na halaga sa tinukoy na pagkakasunud-sunod.





Halimbawang Pagpapakita ng Function

Isaalang-alang natin ang isang halimbawa. Nagsisimula kami sa pamamagitan ng pagtukoy ng isang simpleng Oracle sequence tulad ng ipinapakita sa sumusunod na code:

GUMAWA NG SEQUENCE test_sequence
MAGSIMULA SA 1
INCREMENT NG 1 ;

Ginagamit namin ang pahayag na CREATE SEQUENCE para magsimula ng bagong Oracle sequence. Pagkatapos ay tutukuyin namin kung anong value ang magsisimula ang sequence at ang increment value para sa bawat bagong nabuong value.



Sa aming halimbawa, ang test_sequence ay nagsisimula sa halaga ng 1 at mga pagtaas ng isa sa bawat bagong halaga. Dapat itong bumuo ng isang serye ng mga numerical value na nagsisimula sa 1,2,3,4,5…etc.

Gamit ang Oracle Nextval Function

Magagamit natin ang susunod na value function mula sa test_sequence sequence para makuha ang susunod na value, tulad ng ipinapakita sa sumusunod:

pumili test_sequence.nextval mula sa dalawahan;

Dapat itong ibalik ang susunod na halaga mula sa pagkakasunud-sunod tulad ng ipinapakita sa sumusunod:

Kung tatawagan mong muli ang pahayag, dapat nitong ibalik ang susunod na halaga sa serye na 2.

Magpapatuloy ito hanggang sa maubos ang mga halaga, o maabot mo ang maximum na halaga na tinukoy sa pagkakasunud-sunod. Tingnan ang aming Oracle sequence tutorial upang matutunan kung paano itakda ang minimum at maximum na mga halaga.

Gamit ang Nextval Function para I-loop ang Mga Value

Magagamit din natin ang nextval function para i-print ang mga numero mula 1 hanggang 10 gaya ng ipinapakita sa sumusunod na code:

GUMAWA NG SEQUENCE looper_sequence
MAGSIMULA SA 1
INCREMENT NG 1 ;

itakda Naka-on ang SERVEROUTPUT;
MAGSIMULA
PARA i IN 1 .. 10
LOOP
DBMS_OUTPUT.PUT_LINE ( looper_sequence.nextval ) ;
END LOOP;
WAKAS;

Ang ibinigay na code ay lumilikha ng isang bagong sequence na tinatawag na looper_sequence na nagsisimula sa 1 at mga pagtaas ng 1 para sa bawat bagong nabuong halaga.

Pagkatapos ay pinagana namin ang opsyong SERVEROUTPUT na nagpapahintulot sa package na DBMS_OUTPUT na ipakita ang mga mensahe sa SQL*Plus console.

Sa wakas, isinama namin ang isang for loop sa loob ng isang end/begin statement upang umulit sa hanay ng mga value mula 1 hanggang 10. Pagkatapos ay tinawag namin ang DBMS_OUTPUT.PUT_LINE function para sa bawat value sa range at i-print ang susunod na value sa looper_sequence sequence sa console.

Ang code ay nagpi-print ng susunod na sampung halaga sa looper sequence. Sa aming kaso, ito ang magiging halaga mula 1 hanggang 10 o 11 – 20... at iba pa para sa bawat bagong tawag.

Nagreresultang Output :

1
2
3
4
5
6
7
8
9
10


PL / Matagumpay na nakumpleto ang pamamaraan ng SQL.

Gamit ang Nextval Function sa isang Insert Statement

Magagamit din natin ang nextval function sa isang insert statement bilang pangunahing key. Halimbawa:

ipasok sa mga gumagamit ( id ,pangalan,credit_card,bansa )
mga halaga ( test_sequence.nextval, 'James Smith' , '4278793631436711' , 'United Arab Emirates' ) ;

Sa ibinigay na halimbawa, tinatawag namin ang nextval function mula sa test_sequence upang ipasok ang halaga para sa column ng id sa talahanayan.

Konklusyon

Sa post na ito, natuklasan mo kung paano gamitin ang Oracle nextval function para kunin ang susunod na value sa isang sequence. Natutunan mo rin kung paano gamitin ang function upang umulit sa isang hanay ng mga halaga o magpasok ng isang natatanging halaga sa isang column ng talahanayan.