CREATE SEQUENCE

Sémantika

schema

Zadejte schéma, které bude obsahovat sekvenci. Pokud vynecháte schema, pak Oracle Database vytvoří sekvenci ve vašem vlastním schématu.

sekvence

Zadejte název sekvence, která má být vytvořena.

Pokud nezadáte žádnou z následujících klauzulí, pak vytvoříte vzestupnou sekvenci, která začíná číslem 1 a roste o 1 bez horního omezení. Zadáte-li pouze INCREMENT BY -1, vytvoříte sestupnou posloupnost, která začíná hodnotou -1 a klesá bez dolního limitu.

  • Chcete-li vytvořit posloupnost, která roste bez omezení, pro vzestupné posloupnosti vynechejte parametr MAXVALUE nebo zadejte NOMAXVALUE. Pro sestupné sekvence vynechejte parametr MINVALUE nebo zadejte NOMINVALUE.

  • Chcete-li vytvořit sekvenci, která se zastaví na předem definované hranici, pro vzestupnou sekvenci zadejte hodnotu parametru MAXVALUE. Pro sestupnou sekvenci zadejte hodnotu pro parametr MINVALUE. Zadejte také NOCYCLE. Jakýkoli pokus o vytvoření sekvenčního čísla po dosažení limitu sekvence vede k chybě.

  • Chcete-li vytvořit sekvenci, která se po dosažení předem definovaného limitu znovu spustí, zadejte hodnoty pro parametry MAXVALUE i MINVALUE. Zadejte také CYCLE. Pokud nezadáte MINVALUE, bude výchozí hodnota NOMINVALUE, což je hodnota 1.

INCREMENT BY Zadejte interval mezi čísly sekvence. Tato celočíselná hodnota může být libovolné kladné nebo záporné celé číslo, ale nesmí být 0. Tato hodnota může mít 28 nebo méně číslic. Absolutní hodnota této hodnoty musí být menší než rozdíl hodnot MAXVALUE a MINVALUE. Je-li tato hodnota záporná, pak posloupnost klesá. Pokud je tato hodnota kladná, pak posloupnost stoupá. Pokud tuto klauzuli vynecháte, pak je výchozí hodnota intervalu 1.

START WITH Určete první sekvenční číslo, které se má generovat. Tuto klauzuli použijte pro zahájení vzestupné sekvence od hodnoty větší než její minimum nebo pro zahájení sestupné sekvence od hodnoty menší než její maximum. U vzestupných sekvencí je výchozí hodnotou minimální hodnota sekvence. Pro sestupné sekvence je výchozí hodnotou maximální hodnota sekvence. Tato celočíselná hodnota může mít 28 nebo méně číslic.

Poznámka:

Tato hodnota nemusí být nutně hodnotou, na kterou se vzestupná cyklická sekvence zacyklí po dosažení své maximální nebo minimální hodnoty.

MAXVALUE Určete maximální hodnotu, kterou může sekvence generovat. Tato celočíselná hodnota může mít 28 nebo méně číslic. MAXVALUE musí být rovna nebo větší než START WITH a musí být větší než MINVALUE.

NOMAXVALUE Zadejte NOMAXVALUE pro označení maximální hodnoty 1027 pro vzestupnou sekvenci nebo -1 pro sestupnou sekvenci. Toto je výchozí hodnota.

MINVALUE Zadejte minimální hodnotu sekvence. Tato celočíselná hodnota může mít 28 nebo méně číslic. MINVALUE musí být menší nebo rovno START WITH a musí být menší než MAXVALUE.

NOMINVALUE Zadejte NOMINVALUE pro uvedení minimální hodnoty 1 pro vzestupnou sekvenci nebo -1026 pro sestupnou sekvenci. Toto je výchozí hodnota.

CYCLE Zadejte CYCLE pro označení, že sekvence pokračuje v generování hodnot po dosažení maximální nebo minimální hodnoty. Poté, co vzestupná sekvence dosáhne své maximální hodnoty, generuje svou minimální hodnotu. Poté, co sestupná sekvence dosáhne své minimální hodnoty, generuje svou maximální hodnotu.

NOCYCLE Zadejte NOCYCLE, abyste uvedli, že sekvence nemůže generovat další hodnoty po dosažení své maximální nebo minimální hodnoty. Toto je výchozí nastavení.

CACHE Určuje, kolik hodnot sekvence databáze předalokuje a uchovává v paměti pro rychlejší přístup. Tato celočíselná hodnota může mít 28 nebo méně číslic. Minimální hodnota tohoto parametru je 2. U sekvencí, které se cyklují, musí být tato hodnota menší než počet hodnot v cyklu. Do mezipaměti nelze uložit více hodnot, než se vejde do daného cyklu sekvenčních čísel. Proto musí být maximální povolená hodnota parametru CACHE menší než hodnota určená podle následujícího vzorce:

(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)

Pokud dojde k selhání systému, pak se ztratí všechny hodnoty sekvencí uložené v mezipaměti, které nebyly použity v odevzdaných příkazech DML. Potenciální počet ztracených hodnot se rovná hodnotě parametru CACHE.

Poznámka:

Oracle doporučuje použít nastavení CACHE pro zvýšení výkonu, pokud používáte sekvence v prostředí Oracle Real Application Clusters.

NOCACHE Zadejte NOCACHE pro označení, že hodnoty sekvence nejsou předem alokovány. Pokud vynecháte CACHE i NOCACHE, pak databáze ve výchozím nastavení cachuje 20 čísel sekvencí.

ORDER Zadejte ORDER, abyste zaručili, že čísla sekvencí budou generována v pořadí podle požadavku. Tato klauzule je užitečná, pokud používáte sekvenční čísla jako časové značky. Zaručení pořadí obvykle není důležité pro sekvence používané ke generování primárních klíčů.

ORDER je nutné použít pouze pro zaručení generování v pořadí, pokud používáte Oracle Real Application Clusters. Pokud používáte exkluzivní režim, pak jsou sekvenční čísla generována vždy v pořadí.

NOORDER Zadejte NOORDER, pokud nechcete zaručit generování sekvenčních čísel v pořadí podle požadavku. Toto je výchozí nastavení.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.