Oracle ALTER SEQUENCE podle praktických příkladů

Oracle Alter Sequence Podle Praktickych Prikladu



V Oracle je sekvence databázový objekt, který generuje jedinečnou řadu celých čísel, která lze použít jako primární klíč nebo pro jakýkoli jiný účel, kde je vyžadováno jedinečné číslo. ALTER SEQUENCE je mocný nástroj v Oracle, který vám umožňuje upravovat atributy sekvence v databázi. Příkaz ALTER SEQUENCE se může na první pohled zdát skličující, ale praktické příklady vám mohou pomoci pochopit a využít jeho plný potenciál.

Tato příručka bude obsahovat následující příklady:

Resetujte sekvenční hodnotu

Chcete-li resetovat hodnotu sekvence nebo restartovat hodnotu sekvence od její počáteční hodnoty, ' ALTER SEQUENCE 'příkaz s ' RESTART lze použít klauzuli “. Příklad je uveden níže:







ALTER SEQUENCE LINUXHINT_SEQ RESTART;

Ve výše uvedeném příkazu „ LINUXHINT_SEQ ” představuje název sekvence.



Výstup



Výstup ukazuje, že sekvence byla resetována.





Změňte minimální hodnoty sekvence

Když je sekvence vytvořena v Oracle, ve výchozím nastavení je její minimální hodnota nastavena na 1. ALTER SEQUENCE 'příkaz s ' MIN ” lze použít ke změně minimální hodnoty sekvence. Příklad je uveden níže:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

V tomto příkladu je nová minimální hodnota -1 .



Výstup

Výstup ukázal, že minimální hodnota byla změněna.

Změňte maximální hodnoty sekvence

Ve výchozím nastavení je maximální hodnota posloupnosti Oracle „10^27 – 1“, což je největší možná hodnota pro 38místné desítkové číslo. Chcete-li změnit maximální hodnotu sekvence, „ ALTER SEQUENCE 'příkaz s ' MAX lze použít klauzuli “. Příklad je uveden níže:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

Ve výše uvedeném příkladu bude nová maximální hodnota 1000 .

Výstup

Na snímku obrazovky je vidět, že byla změněna maximální hodnota.

Poznámka : Ve výše uvedeném příkladu sekvence přestane generovat hodnoty poté, co dosáhne 1000, a jakýkoli pokus o vygenerování hodnoty za tímto bodem povede k chybě.

Změňte velikost mezipaměti sekvence

Velikost mezipaměti rozhoduje o počtu sekvenčních čísel, která jsou předem přidělena a uložena v paměti pro rychlejší přístup. Chcete-li změnit velikost mezipaměti sekvence, použijte „ MEZIPAMĚTI 'klauzule s ' ALTER SEQUENCE “příkaz. Příklad je uveden níže:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

Ve výše uvedeném příkladu je velikost mezipaměti sekvence nastavena na padesáti . Znamená to, že pořadové číslo 50 bude předem přiděleno pro rychlejší přístup.

Výstup

Výstup zobrazuje, že velikost mezipaměti byla změněna.

Nastavte velikost a pořadí sekvence mezipaměti

Chcete-li nastavit velikost mezipaměti sekvencí a vygenerovat sekvenční čísla v pořadí, použijte „ OBJEDNAT ' a ' MEZIPAMĚTI ” klauzule s “ ALTER SEQUENCE “příkaz. Zde je příklad:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 OBJEDNÁVKA;

V tomto příkladu bude nová hodnota velikosti mezipaměti 100 .

Výstup

Výstup ukázal, že v sekvenci byly provedeny změny.

Nastavte Sekvenci na Generování sestupných hodnot

Interval mezi pořadovými čísly je určen přírůstkovým číslem. Hodnota přírůstku je standardně nastavena na 1, což znamená, že při každém volání sekvence je vráceno další číslo v řadě. Když je přírůstek nastaven na -1, sekvence generuje celá čísla v sestupném pořadí.

Chcete-li nastavit sekvenci pro generování sestupných hodnot, použijte „ PŘÍRŮST O “ s „ ALTER SEQUENCE ” a nastavte hodnotu na -1. Příklad je uveden níže:

ALTER SEQUENCE LINUXHINT_SEQ PŘÍRŮST O -1;

V tomto příkladu je hodnota -1 , což znamená, že pokaždé, když je sekvence volána, je vráceno předchozí číslo v sekvenci.

Výstup

Výstup zobrazuje, že sekvence byla nastavena na generování sestupných hodnot.

Změňte hodnotu přírůstku sekvence

Chcete-li změnit hodnotu přírůstku sekvence, použijte „ PŘÍRŮST O “ s „ ALTER SEQUENCE ” a odpovídajícím způsobem nastavte hodnotu. Příklad je uveden níže:

ALTER SEQUENCE LINUXHINT_SEQ PŘÍRŮST O 2;

V tomto příkladu je hodnota 2 , což znamená, že při každém volání sekvence se další číslo v sekvenci zvýší o 2.

Výstup

Výstup ukázal, že sekvence byla odpovídajícím způsobem změněna.

Změňte sekvenci, abyste povolili možnost cyklu

Když je pro sekvenci povolena možnost cyklu, sekvence se obtočí a začne znovu od začátku (MINVALUE), jakmile dosáhne maximální hodnoty (MAXVALUE). Chcete-li tuto možnost povolit, použijte „ CYKLUS 'klauzule s ' ALTER SEQUENCE “příkaz. Příklad je uveden níže:

ALTER SEQUENCE LINUXHINT_SEQ CYCLE;

Výstup

Výstup zobrazuje, že možnost cyklu byla povolena.

Změňte sekvenci pro deaktivaci cyklu

Když je volba cyklu pro sekvenci deaktivována, sekvence přestane generovat hodnoty, jakmile dosáhne své maximální hodnoty (MAXVALUE) nebo minimální hodnoty (MINVALUE), v závislosti na pořadí generování. Chcete-li tuto volbu zakázat, použijte klauzuli „NOCYCLE“ s příkazem „ALTER SEQUENCE“. Příklad je uveden níže:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Výstup

Výstup ukázal, že možnost cyklu byla deaktivována.

Chcete-li upravit více možností, změňte sekvenci

Zadejte daný příkaz pro nastavení sekvence tak, aby měla záporný přírůstek o -1, maximální hodnotu 10 a povolenou volbu cyklu:

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT O -1 MAXVALUE 10 CYCLE;

Výstup

Výstup ukázal, že změny v sekvenci byly úspěšně provedeny.

Závěr

V Oracle je „ ALTER SEQUENCE ” umožňuje změnit atributy sekvence resetováním hodnoty sekvence, změnou minimální a maximální hodnoty, přírůstkové hodnoty, velikosti mezipaměti, řazení a povolením nebo zakázáním volby cyklu. Tyto změny jsou užitečné za mnoha okolností, například když potřebujete změnit počáteční hodnotu sekvence nebo upravit velikost mezipaměti pro lepší výkon. Tento příspěvek vysvětlil různé případy použití příkazu ALTER SEQUENCE na praktických příkladech.