Oracle ALTER SEQUENCE Ayon sa Mga Praktikal na Halimbawa

Oracle Alter Sequence Ayon Sa Mga Praktikal Na Halimbawa



Sa Oracle, ang isang sequence ay isang database object na bumubuo ng isang natatanging serye ng mga integer na maaaring magamit bilang pangunahing key o para sa anumang iba pang layunin kung saan kinakailangan ang isang natatanging numero. Ang ALTER SEQUENCE ay isang makapangyarihang tool sa Oracle na nagbibigay-daan sa iyong baguhin ang mga katangian ng isang sequence sa database. Ang utos na ALTER SEQUENCE ay maaaring mukhang nakakatakot sa simula ngunit ang mga praktikal na halimbawa ay makakatulong sa iyong maunawaan at magamit ang buong potensyal nito.

Saklaw ng gabay na ito ang mga sumusunod na halimbawa:

I-reset ang Sequence Value

Upang i-reset ang sequence value o i-restart ang sequence value mula sa panimulang halaga nito ang “ BAGUHIN ANG PAGKAKASUNOD 'utos na may ' MULI Maaaring gamitin ang sugnay. Ang halimbawa ay ibinigay sa ibaba:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

Sa utos sa itaas, ' LINUXHINT_SEQ ” ay kumakatawan sa sequence name.



Output



Ang output ay nagpapakita na ang sequence ay na-reset.





Baguhin ang Minimum na Halaga ng Pagkakasunud-sunod

Kapag ang isang sequence ay ginawa sa Oracle, bilang default ang pinakamababang halaga nito ay nakatakda sa 1. Ang ' BAGUHIN ANG PAGKAKASUNOD 'utos na may ' MINVALUE ” sugnay ay maaaring gamitin upang baguhin ang pinakamababang halaga ng pagkakasunod-sunod. Ang halimbawa ay ibinigay sa ibaba:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

Sa halimbawang ito, ang bagong minimum na halaga ay -1 .



Output

Ang output ay nagpakita na ang pinakamababang halaga ay nabago.

Baguhin ang Maximum Values ​​ng Sequence

Bilang default, ang maximum na value ng isang Oracle sequence ay “10^27 – 1”, na siyang pinakamalaking posibleng value para sa isang 38-digit na decimal na numero. Upang baguhin ang maximum na sequence value, ang ' BAGUHIN ANG PAGKAKASUNOD 'utos na may ' MAXVALUE Maaaring gamitin ang sugnay. Ang halimbawa ay ibinigay sa ibaba:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

Sa halimbawa sa itaas, ang bagong maximum na halaga ay magiging 1000 .

Output

Sa screenshot, makikita na ang maximum na halaga ay nabago.

Tandaan : Sa halimbawa sa itaas, ang pagkakasunud-sunod ay titigil sa pagbuo ng mga halaga pagkatapos na umabot sa 1000, at anumang pagtatangka na bumuo ng isang halaga na lampas sa puntong iyon ay magreresulta sa isang error.

Baguhin ang Caching Size ng Sequence

Ang laki ng cache ay nagpapasya sa bilang ng mga sequence number na paunang inilalaan at nakaimbak sa memorya para sa mas mabilis na pag-access. Upang baguhin ang laki ng cache ng sequence, gamitin ang ' CACHE 'sugnay na may ' BAGUHIN ANG PAGKAKASUNOD ” utos. Ang isang halimbawa ay ibinigay sa ibaba:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

Sa halimbawa sa itaas, ang laki ng cache ng sequence ay nakatakda sa limampu . Nangangahulugan ito na ang sequence number 50 ay paunang ilalaan sa isang pagkakataon para sa mas mabilis na pag-access.

Output

Ang output ay naglalarawan na ang laki ng cache ay nabago.

Itakda ang Sukat at Pagkakasunod-sunod ng Cache Sequence

Upang itakda ang laki ng cache ng pagkakasunud-sunod at buuin ang mga numero ng pagkakasunud-sunod, gamitin ang ' ORDER 'at' CACHE 'mga sugnay na may ' BAGUHIN ANG PAGKAKASUNOD ” utos. Narito ang isang halimbawa:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

Sa halimbawang ito, ang bagong halaga ng laki ng cache ay magiging 100 .

Output

Ang output ay ipinapakita na ang mga pagbabago ay ginawa sa sequence.

Itakda ang Sequence para Bumuo ng Mga Pababang Halaga

Ang agwat sa pagitan ng mga sequence number ay tinutukoy ng increment number. Ang increment value ay nakatakda sa 1 bilang default, na nangangahulugan na ang susunod na numero sa serye ay ibinabalik sa tuwing tatawagin ang sequence. Kapag ang increment ay nakatakda sa -1, ang sequence ay bumubuo ng mga integer sa pababang pagkakasunud-sunod.

Upang itakda ang pagkakasunud-sunod upang makabuo ng mga pababang halaga, gamitin ang ' INCREMENT NG ' kasama ang ' BAGUHIN ANG PAGKAKASUNOD ” utos at itakda ang halaga sa -1. Ang halimbawa ay ibinigay sa ibaba:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT NG -1;

Sa halimbawang ito, ang halaga ay -1 , na nangangahulugang sa tuwing tatawagin ang sequence, ibinabalik ang dating numero sa sequence.

Output

Ang output ay naglalarawan na ang sequence ay itinakda upang bumuo ng mga pababang halaga.

Baguhin ang Increment Value ng Sequence

Para baguhin ang increment value ng sequence, gamitin ang “ INCREMENT NG ' kasama ang ' BAGUHIN ANG PAGKAKASUNOD ” utos at itakda ang halaga nang naaayon. Ang halimbawa ay ibinigay sa ibaba:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT NG 2;

Sa halimbawang ito, ang halaga ay 2 , na nangangahulugang sa tuwing tatawagin ang sequence, ang susunod na numero sa sequence ay dadagdagan ng 2.

Output

Ang output ay ipinakita na ang pagkakasunud-sunod ay binago nang naaayon.

Baguhin ang Sequence para Paganahin ang Cycle Option

Kapag naka-enable ang opsyon sa cycle para sa isang sequence, ang sequence ay babalot at magsisimulang muli mula sa simula (MINVALUE) kapag naabot na nito ang maximum na value (MAXVALUE). Upang paganahin ang opsyong ito, gamitin ang ' CYCLE 'sugnay na may ' BAGUHIN ANG PAGKAKASUNOD ” utos. Ang halimbawa ay ibinigay sa ibaba:

ALTER SEQUENCE LINUXHINT_SEQ CYCLE;

Output

Ang output na ipinapakita ang cycle na opsyon ay pinagana.

Baguhin ang Sequence para I-disable ang Cycle

Kapag na-disable ang opsyon sa cycle para sa isang sequence, hihinto ang sequence sa pagbuo ng mga value kapag naabot na nito ang maximum value nito (MAXVALUE) o minimum na value (MINVALUE), depende sa pagkakasunud-sunod ng pagbuo. Upang i-disable ang opsyong ito, gamitin ang sugnay na 'NOCYCLE' na may command na 'ALTER SEQUENCE'. Ang halimbawa ay ibinigay sa ibaba:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Output

Ang output ay nagpakita na ang cycle na opsyon ay hindi pinagana.

Baguhin ang Sequence para Baguhin ang Maramihang Opsyon

I-type ang ibinigay na utos upang itakda ang pagkakasunud-sunod upang magkaroon ng negatibong pagtaas ng -1, maximum na halaga na 10, at pinagana ang opsyon sa pag-ikot:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT NG -1 MAXVALUE 10 CYCLE;

Output

Ipinakita ng output na matagumpay na nagawa ang mga pagbabago sa sequence.

Konklusyon

Sa Oracle, ang ' BAGUHIN ANG PAGKAKASUNOD Binibigyang-daan ka ng command na ” na baguhin ang mga katangian ng isang sequence sa pamamagitan ng pag-reset ng sequence value, pagbabago ng minimum at maximum na value, increment value, laki ng caching, pag-order, at pagpapagana o hindi pagpapagana sa cycle na opsyon. Nakakatulong ang mga pagbabagong ito sa maraming uri ng mga pangyayari, tulad ng kapag kailangan mong baguhin ang panimulang halaga ng isang sequence o ayusin ang laki ng caching para sa mas mahusay na pagganap. Ipinaliwanag ng post na ito ang iba't ibang kaso ng paggamit ng ALTER SEQUENCE command gamit ang mga praktikal na halimbawa.