Č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ť. |
ŽIADNA MAXVALUE | Keď je zadaná NO MAXVALUE, pre vzostupnú sekvenciu bude maximálna hodnota 4611686018427387903 a minimálna hodnota pre zostupnú sekvenciu -1. |
MINVALUE | Určuje minimálnu hodnotu, ktorú môže sekvencia vygenerovať. |
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. |
Ž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á |
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.