Výukový program SAP HANA: Vytvorenie sekvencie

Anonim

Čo je to postupnosť?

Sekvencia je databázový objekt, ktorý automaticky generuje zvýšený zoznam číselných hodnôt podľa pravidla uvedeného v špecifikácii sekvencie.

Napríklad napríklad na automatické vloženie čísla zamestnanca do stĺpca (EMPLOYEE_NO) tabuľky, keď sa do tabuľky vloží nový záznam, použijeme postupnosť.

Sekvenčné hodnoty sa generujú vzostupne alebo zostupne.

Sekvencie nie sú spojené s tabuľkami; používajú sa v aplikácii. Postupne existujú dve hodnoty -

  • CURRVAL - Zadajte aktuálnu hodnotu sekvencie.
  • NEXTVAL - Zadajte ďalšiu hodnotu sekvencie.

SYNTAX

CREATE SEQUENCE  [] [RESET BY ]

SYNTAXOVÉ PRVKY

PRVKY POPIS
Je to názov sekvencie.
[] Určuje jeden alebo viac parametrov sekvencie.
ZAČNITE S Opisuje počiatočnú hodnotu sekvencie.
INCREMENT BY Toto určuje hodnotu, ktorá sa má zvýšiť od poslednej priradenej hodnoty zakaždým, keď sa vygeneruje nová sekvenčná hodnota. Predvolená hodnota je 1.
MAXVALUE Toto určuje maximálnu hodnotu, ktorú môže sekvencia vygenerovať. môže byť medzi -4611686018427387903 a 4611686018427387902.
ŽIADNA MAXVALUE Keď je zadaná NO MAXVALUE, pre vzostupnú sekvenciu bude maximálna hodnota 4611686018427387903 a minimálna hodnota pre zostupnú sekvenciu -1.
MINVALUE / ŽIADNA MINVALUE Určuje minimálnu hodnotu, ktorú môže sekvencia vygenerovať. môže byť v rozmedzí -4611686018427387904 až 4611686018427387902. Keď sa použije NO MINVALUE, minimálna hodnota pre vzostupnú sekvenciu je 1
CYKLUS Direktíva CYCLE určuje, že poradové číslo bude reštartované po dosiahnutí maximálnej alebo minimálnej hodnoty.
ŽIADNY CYKLUS Predvolená možnosť. Smernica NO CYCLE určuje, že poradové číslo sa po dosiahnutí maximálnej alebo minimálnej hodnoty nereštartuje.
CACHE / Veľkosť medzipamäte určuje, ktorý rozsah poradových čísel sa do uzla uloží do medzipamäte. musí byť celé číslo bez znamienka.
ŽIADNA CACHE Predvolená možnosť. Smernica NO CACHE určuje, že poradové číslo nebude uložené do medzipamäte v uzle.
RESETOVAŤ Určuje, že počas reštartu databázy databáza automaticky vykoná a sekvenčná hodnota sa reštartuje s vrátenou hodnotou.

Príklad -

Vytvoríme sekvenciu s názvom DHK_SCHEMA.EMP_NO, ktorá pri každom použití sekvencie vytvorí zvýšenú hodnotu sekvencie o +1.

Sekvenčný skript -

CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1. 

Tu v nasledujúcom príklade použijeme objekt „postupnosť“ na zvýšenie hodnoty zamestnanca nie o +1 pri každom vykonaní výberového dotazu. V dotaze možno parameter „nextval“ použiť na generovanie sériového čísla alebo na rovnaký typ požiadavky.

Použitie sekvencie -

SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;

VÝSTUP - 100 101 102

... Takže pri každom vykonaní vyššie uvedeného vyberte dotaz.