Táto príručka bude obsahovať nasledujúce príklady:
- Obnovte hodnotu sekvencie
- Zmeňte minimálne hodnoty sekvencie
- Zmeňte maximálne hodnoty sekvencie
- Zmeňte veľkosť vyrovnávacej pamäte sekvencie
- Nastavte veľkosť a poradie sekvencie vyrovnávacej pamäte
- Nastavte Sekvenciu na Generovanie zostupných hodnôt
- Zmeňte hodnotu prírastku sekvencie
- Zmenou sekvencie povolíte možnosť cyklu
- Zmenou sekvencie zakážete možnosť cyklu
- Zmeňte postupnosť a upravte viaceré možnosti
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.