Výukový program SAP HANA: Vytvoření sekvence

Anonim

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. může být mezi -4611686018427387903 a 4611686018427387902.
ŽÁ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 / ŽÁDNÁ MINVALUE Určuje minimální hodnotu, kterou může sekvence generovat. může být mezi -4611686018427387904 a 4611686018427387902. Když je použita NO MINVALUE, minimální hodnota pro vzestupnou sekvenci je 1
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. musí být celé číslo bez znaménka.
ŽÁ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 a hodnota sekvence se restartuje s vrácenou hodnotou.

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.