Oracle ALTER SEQUENCE podľa praktických príkladov

Oracle Alter Sequence Podla Praktickych Prikladov



V Oracle je sekvencia databázový objekt, ktorý generuje jedinečný rad celých čísel, ktoré možno použiť ako primárny kľúč alebo na akýkoľvek iný účel, kde sa vyžaduje jedinečné číslo. ALTER SEQUENCE je výkonný nástroj v Oracle, ktorý vám umožňuje upravovať atribúty sekvencie v databáze. Príkaz ALTER SEQUENCE sa na prvý pohľad môže zdať skľučujúci, ale praktické príklady vám môžu pomôcť pochopiť a využiť jeho plný potenciál.

Táto príručka bude obsahovať nasledujúce príklady:

Obnovte hodnotu sekvencie

Ak chcete resetovať hodnotu sekvencie alebo reštartovať hodnotu sekvencie z jej počiatočnej hodnoty, ' ALTER SEQUENCE 'príkaz s ' REŠTART možno použiť klauzulu “. Príklad je uvedený nižšie:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

Vo vyššie uvedenom príkaze „ LINUXHINT_SEQ “ predstavuje názov sekvencie.



Výkon



Výstup ukazuje, že sekvencia bola resetovaná.





Zmeňte minimálne hodnoty sekvencie

Keď je sekvencia vytvorená v Oracle, jej minimálna hodnota je štandardne nastavená na 1. ALTER SEQUENCE 'príkaz s ' MINVALUE ” môže byť použitá na zmenu minimálnej hodnoty postupnosti. Príklad je uvedený nižšie:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

V tomto príklade je nová minimálna hodnota -1 .



Výkon

Výstup ukázal, že minimálna hodnota bola zmenená.

Zmeňte maximálne hodnoty sekvencie

Štandardne je maximálna hodnota postupnosti Oracle „10^27 – 1“, čo je najväčšia možná hodnota pre 38-miestne desiatkové číslo. Ak chcete zmeniť maximálnu hodnotu sekvencie, „ ALTER SEQUENCE 'príkaz s ' MAX možno použiť klauzulu “. Príklad je uvedený nižšie:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

Vo vyššie uvedenom príklade bude nová maximálna hodnota 1000 .

Výkon

Na snímke obrazovky je vidieť, že maximálna hodnota bola zmenená.

Poznámka : Vo vyššie uvedenom príklade sekvencia prestane generovať hodnoty, keď dosiahne hodnotu 1000, a všetky pokusy o vygenerovanie hodnoty za týmto bodom budú mať za následok chybu.

Zmeňte veľkosť vyrovnávacej pamäte sekvencie

Veľkosť vyrovnávacej pamäte rozhoduje o počte sekvenčných čísel, ktoré sú vopred pridelené a uložené v pamäti pre rýchlejší prístup. Ak chcete zmeniť veľkosť vyrovnávacej pamäte sekvencie, použite „ CACHE 'klauzula s ' ALTER SEQUENCE “príkaz. Príklad je uvedený nižšie:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

Vo vyššie uvedenom príklade je veľkosť vyrovnávacej pamäte sekvencie nastavená na päťdesiat . Znamená to, že poradové číslo 50 bude vopred pridelené naraz pre rýchlejší prístup.

Výkon

Výstup zobrazuje, že veľkosť vyrovnávacej pamäte bola zmenená.

Nastavte veľkosť a poradie sekvencie vyrovnávacej pamäte

Ak chcete nastaviť veľkosť vyrovnávacej pamäte sekvencií a vygenerovať poradové čísla v poradí, použite „ OBJEDNAŤ “ a „ CACHE ” klauzuly s “ ALTER SEQUENCE “príkaz. Tu je príklad:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 OBJEDNÁVKA;

V tomto príklade bude nová hodnota veľkosti vyrovnávacej pamäte 100 .

Výkon

Výstup ukázal, že v sekvencii boli vykonané zmeny.

Nastavte Sekvenciu na Generovanie zostupných hodnôt

Interval medzi poradovými číslami je určený prírastkovým číslom. Hodnota prírastku je štandardne nastavená na 1, čo znamená, že pri každom volaní sekvencie sa vráti ďalšie číslo v rade. Keď je prírastok nastavený na -1, sekvencia generuje celé čísla v zostupnom poradí.

Ak chcete nastaviť sekvenciu na generovanie zostupných hodnôt, použite „ ZVÝŠENIE O “ s „ ALTER SEQUENCE ” a nastavte hodnotu na -1. Príklad je uvedený nižšie:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT O -1;

V tomto príklade je hodnota -1 , čo znamená, že pri každom volaní sekvencie sa vráti predchádzajúce číslo v sekvencii.

Výkon

Výstup zobrazuje, že sekvencia bola nastavená na generovanie klesajúcich hodnôt.

Zmeňte hodnotu prírastku sekvencie

Ak chcete zmeniť hodnotu prírastku sekvencie, použite tlačidlo „ ZVÝŠENIE O “ s „ ALTER SEQUENCE “ a podľa toho nastavte hodnotu. Príklad je uvedený nižšie:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT O 2;

V tomto príklade je hodnota 2 , čo znamená, že pri každom volaní sekvencie sa ďalšie číslo v sekvencii zvýši o 2.

Výkon

Výstup ukázal, že sekvencia bola zodpovedajúcim spôsobom zmenená.

Zmeňte sekvenciu, aby ste povolili možnosť cyklu

Keď je pre sekvenciu povolená možnosť cyklu, sekvencia sa zalomí a začne znova od začiatku (MINVALUE), keď dosiahne maximálnu hodnotu (MAXVALUE). Ak chcete povoliť túto možnosť, použite tlačidlo „ CYKLUS 'klauzula s ' ALTER SEQUENCE “príkaz. Príklad je uvedený nižšie:

ALTER SEQUENCE LINUXHINT_SEQ CYCLE;

Výkon

Zobrazený výstup, možnosť cyklu bola povolená.

Zmenou sekvencie deaktivujete cyklus

Keď je možnosť cyklu pre sekvenciu zakázaná, sekvencia prestane generovať hodnoty, keď dosiahne svoju maximálnu hodnotu (MAXVALUE) alebo minimálnu hodnotu (MINVALUE), v závislosti od poradia generovania. Ak chcete túto voľbu zakázať, použite klauzulu „NOCYCLE“ s príkazom „ALTER SEQUENCE“. Príklad je uvedený nižšie:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Výkon

Výstup ukázal, že možnosť cyklu bola zakázaná.

Zmeňte postupnosť a upravte viaceré možnosti

Zadajte daný príkaz na nastavenie sekvencie tak, aby mala záporný prírastok o -1, maximálnu hodnotu 10 a povolenú možnosť cyklu:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT O -1 MAXVALUE 10 CYCLE;

Výkon

Výstup ukázal, že zmeny boli v sekvencii vykonané úspešne.

Záver

V Oracle je „ ALTER SEQUENCE ” vám umožňuje zmeniť atribúty sekvencie resetovaním hodnoty sekvencie, zmenou minimálnych a maximálnych hodnôt, prírastkovej hodnoty, veľkosti vyrovnávacej pamäte, zoradenia a povolením alebo zakázaním možnosti cyklu. Tieto zmeny sú užitočné v mnohých situáciách, napríklad keď potrebujete zmeniť počiatočnú hodnotu sekvencie alebo upraviť veľkosť vyrovnávacej pamäte pre lepší výkon. Tento príspevok vysvetlil rôzne prípady použitia príkazu ALTER SEQUENCE pomocou praktických príkladov.