Co je to sekvence?
Sekvence je databázový objekt, který automaticky generuje zvýšený seznam číselných hodnot podle pravidla uvedeného ve specifikaci sekvence.
Například k automatickému vložení čísla zaměstnance do sloupce (EMPLOYEE_NO) tabulky, když je do tabulky vložen nový záznam, použijeme sekvenci.
Hodnoty sekvence jsou generovány vzestupně nebo sestupně.
Sekvence nejsou spojeny s tabulkami; jsou používány aplikací. Postupně existují dvě hodnoty -
- CURRVAL - Poskytne aktuální hodnotu sekvence.
- NEXTVAL - Poskytnout další hodnotu sekvence.
SYNTAX
VYTVOŘIT SEKVENCI[ ] [RESETOVAT PODLE ]
SYNTAXOVÉ PRVKY
ELEMENTY | POPIS |
---|---|
Je to název sekvence. | |
[ | Určuje jeden nebo více parametrů sekvence. |
ZAČNĚTE S | Popisuje počáteční hodnotu sekvence. |
INCREMENT BY | Toto určuje hodnotu, která má být zvýšena od poslední přiřazené hodnoty pokaždé, když je generována nová hodnota sekvence. Výchozí hodnota je 1. |
MAXVALUE | Určuje maximální hodnotu, kterou může sekvence generovat. |
ŽÁDNÁ MAXIMÁLNÍ HODNOTA | Když je zadána NO MAXVALUE, pro vzestupnou sekvenci bude maximální hodnota 4611686018427387903 a minimální hodnota pro sestupnou sekvenci bude -1. |
MINVALUE | Určuje minimální hodnotu, kterou může sekvence generovat. |
CYKLUS | Směrnice CYCLE určuje, že pořadové číslo bude restartováno poté, co dosáhne své maximální nebo minimální hodnoty. |
ŽÁDNÝ CYKLUS | Výchozí volba. Směrnice NO CYCLE určuje, že pořadové číslo nebude restartováno, jakmile dosáhne své maximální nebo minimální hodnoty. |
CACHE | Velikost mezipaměti určuje, který rozsah pořadových čísel bude uložen do mezipaměti v uzlu. |
ŽÁDNÝ CACHE | Výchozí možnost. Směrnice NO CACHE určuje, že pořadové číslo nebude uloženo do mezipaměti v uzlu. |
RESETOVAT PODLE | Určuje, že během restartování databáze databáze automaticky provede |
Příklad -
Vytvoříme sekvenci s názvem DHK_SCHEMA.EMP_NO, která při každém použití sekvence vytvoří zvýšenou hodnotu sekvence o +1.
Sekvenční skript -
VYTVOŘTE SEKVENCI DHK_SCHEMA.EMP_NO ZAČNĚTE SE 100 INKREMENTEM O 1.
Zde v níže uvedeném příkladu použijeme objekt „sekvence“ ke zvýšení hodnoty zaměstnance no o +1 při každém provedení výběrového dotazu. V dotazu lze „nextval“ použít pro generování sériového čísla nebo pro stejný typ požadavku.
Použití sekvence -
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
VÝSTUP - 100 101 102
… Takže při každém provedení výše uvedeného vyberte dotaz.