Oracle ALTER SEQUENCE pagal praktinius pavyzdžius

Oracle Alter Sequence Pagal Praktinius Pavyzdzius



„Oracle“ seka yra duomenų bazės objektas, generuojantis unikalią sveikųjų skaičių seriją, kurią galima naudoti kaip pirminį raktą arba bet kokiam kitam tikslui, kai reikalingas unikalus skaičius. ALTER SEQUENCE yra galingas Oracle įrankis, leidžiantis keisti sekos atributus duomenų bazėje. Komanda ALTER SEQUENCE iš pradžių gali atrodyti bauginanti, tačiau praktiniai pavyzdžiai gali padėti suprasti ir išnaudoti visas jos galimybes.

Šiame vadove bus pateikti šie pavyzdžiai:

Iš naujo nustatykite sekos reikšmę

Norėdami iš naujo nustatyti sekos reikšmę arba iš naujo paleisti sekos reikšmę nuo pradinės vertės, paspauskite „ PAKEISTI SEKĄ “ komanda su „ PERKRAUTI “ galima naudoti sąlygą. Pavyzdys pateiktas žemiau:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

Aukščiau pateiktoje komandoje „ LINUXHINT_SEQ “ reiškia sekos pavadinimą.



Išvestis



Išvestis rodo, kad seka buvo nustatyta iš naujo.





Pakeiskite minimalias sekos reikšmes

Kai seka sukuriama „Oracle“, pagal numatytuosius nustatymus jos minimali reikšmė yra 1. PAKEISTI SEKĄ “ komanda su „ MINVERTĖ “ sąlyga gali būti naudojama norint pakeisti mažiausią sekos reikšmę. Pavyzdys pateiktas žemiau:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

Šiame pavyzdyje nauja minimali vertė yra -1 .



Išvestis

Išvestis parodė, kad minimali vertė buvo pakeista.

Pakeiskite didžiausias sekos reikšmes

Pagal numatytuosius nustatymus didžiausia „Oracle“ sekos reikšmė yra „10^27 – 1“, kuri yra didžiausia įmanoma 38 skaitmenų dešimtainio skaičiaus reikšmė. Norėdami pakeisti didžiausią sekos reikšmę, „ PAKEISTI SEKĄ “ komanda su „ MAXVALUE “ galima naudoti sąlygą. Pavyzdys pateiktas žemiau:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

Pirmiau pateiktame pavyzdyje bus nauja didžiausia vertė 1000 .

Išvestis

Ekrano kopijoje matyti, kad maksimali vertė buvo pakeista.

Pastaba : Aukščiau pateiktame pavyzdyje seka nustos generuoti vertes, kai pasieks 1000, o bet kokie bandymai sugeneruoti vertę, viršijančią tą tašką, sukels klaidą.

Pakeiskite sekos talpyklos dydį

Talpyklos dydis lemia eilės numerių, kurie yra iš anksto paskirstyti ir saugomi atmintyje, kad būtų galima greičiau pasiekti, skaičių. Norėdami pakeisti sekos talpyklos dydį, naudokite „ CACHE “ sąlyga su „ PAKEISTI SEKĄ “ komanda. Toliau pateikiamas pavyzdys:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

Aukščiau pateiktame pavyzdyje nustatytas sekos talpyklos dydis penkiasdešimt . Tai reiškia, kad eilės numeris 50 bus iš anksto paskirtas vienu metu, kad būtų galima greičiau pasiekti.

Išvestis

Išvestis rodo, kad talpyklos dydis buvo pakeistas.

Nustatykite talpyklos sekos dydį ir tvarką

Norėdami nustatyti sekos talpyklos dydį ir generuoti eilės numerius, naudokite „ ĮSAKYMAS “ ir „ CACHE “ sąlygos su „ PAKEISTI SEKĄ “ komanda. Štai pavyzdys:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

Šiame pavyzdyje naujoji talpyklos dydžio reikšmė bus 100 .

Išvestis

Išvestis rodo, kad buvo atlikti sekos pakeitimai.

Nustatykite seką, kad generuotumėte mažėjančias reikšmes

Intervalas tarp eilės numerių nustatomas pagal prieaugio skaičių. Pagal numatytuosius nustatymus prieaugio reikšmė yra 1, o tai reiškia, kad sekantis skaičius iš serijos grąžinamas kiekvieną kartą, kai iškviečiama seka. Kai prieaugis nustatytas į -1, seka generuoja sveikuosius skaičius mažėjimo tvarka.

Norėdami nustatyti seką, kuri generuotų mažėjančias reikšmes, naudokite „ PRIEDIMAS PO ' su ' PAKEISTI SEKĄ “ komandą ir nustatykite reikšmę į -1. Pavyzdys pateiktas žemiau:

ALTER SEQUENCE LINUXHINT_SEQ INCRREMENT BY -1;

Šiame pavyzdyje vertė yra -1 , o tai reiškia, kad kiekvieną kartą iškviečiant seką, grąžinamas ankstesnis sekos skaičius.

Išvestis

Išvestis rodo, kad seka buvo nustatyta generuoti mažėjančias reikšmes.

Pakeiskite sekos prieaugio reikšmę

Norėdami pakeisti sekos prieaugio reikšmę, naudokite „ PRIEDIMAS PO ' su ' PAKEISTI SEKĄ “ komandą ir atitinkamai nustatykite vertę. Pavyzdys pateiktas žemiau:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT 2;

Šiame pavyzdyje vertė yra 2 , o tai reiškia, kad kiekvieną kartą iškvietus seką, kitas sekos skaičius bus padidintas 2.

Išvestis

Išvestis rodo, kad seka buvo atitinkamai pakeista.

Pakeiskite seką, kad įjungtumėte ciklo parinktį

Kai sekos ciklo parinktis įgalinta, seka apsisuks ir prasidės iš naujo (MINVALUE), kai pasieks didžiausią reikšmę (MAXVALUE). Norėdami įjungti šią parinktį, naudokite „ CIKLAS “ sąlyga su „ PAKEISTI SEKĄ “ komanda. Pavyzdys pateiktas žemiau:

ALTER SEQUENCE LINUXHINT_SEQ CYCLE;

Išvestis

Rodoma išvestis ciklo parinktis buvo įjungta.

Pakeiskite seką, kad išjungtumėte ciklą

Kai sekos ciklo parinktis išjungta, seka nustos generuoti vertes, kai pasieks maksimalią vertę (MAXVALUE) arba mažiausią reikšmę (MINVALUE), atsižvelgiant į generavimo tvarką. Norėdami išjungti šią parinktį, naudokite sąlygą „NOCYCLE“ su komanda „ALTER SEQUENCE“. Pavyzdys pateiktas žemiau:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Išvestis

Išvestis parodė, kad ciklo parinktis buvo išjungta.

Pakeiskite seką, kad pakeistumėte kelias parinktis

Įveskite nurodytą komandą, kad nustatytumėte, kad seka būtų neigiama prieaugyje iki -1, didžiausia vertė yra 10 ir įjungta ciklo parinktis:

PAKEISTI SEKĄ LINUXHINT_SEQ PADIDINIMAS -1 MAKSIAUSIA VERTĖ 10 CIKLU;

Išvestis

Išvestis parodė, kad sekos pakeitimai buvo sėkmingai atlikti.

Išvada

„Oracle“ PAKEISTI SEKĄ ” komanda leidžia keisti sekos atributus iš naujo nustatant sekos reikšmę, pakeičiant minimalias ir didžiausias reikšmes, prieaugio reikšmę, talpyklos dydį, tvarką ir įjungiant arba išjungiant ciklo parinktį. Šie pakeitimai yra naudingi įvairiomis aplinkybėmis, pvz., kai reikia pakeisti pradinę sekos reikšmę arba pakoreguoti talpyklos dydį, kad būtų geresnis našumas. Šiame įraše buvo paaiškinti įvairūs komandos ALTER SEQUENCE naudojimo atvejai, naudojant praktinius pavyzdžius.