Popis sekvence (SQL)

popis_sekvence :== SEQUENCE [schΘma.]jmΘno_sekvence [ parametr_sekvence à ]
parametr_sekvence :== START WITH celΘ_Φφslo  | INCREMENT BY celΘ_Φφslo | MAXVALUE celΘ_Φφslo | NOMAXVALUE | MINVALUE celΘ_Φφslo | NOMINVALUE | CYCLE | NOCYCLE | CACHE celΘ_Φφslo | NOCACHE | ORDER | NOORDER

P°i vytvß°enφ nebo modifikovßnφ sekvence lze zadat tyto ·daje:

Se sekvencφ je takΘ spojen celoΦφseln² ·daj udßvajφcφ jejφ aktußlnφ hodnotu, tedy hodnotu, kterß se zφskß p°i p°φÜtφm generovßnφ hodnoty ze sekvence.

Implicitnφ hodnoty nezadan²ch parametr∙ p°i vytvß°enφ sekvence jsou START WITH 0 INCREMENT BY 1 NOMINVALUE NOMAXVALUE NOCYCLE CACHE 20. P°i modifikovßnφ sekvence se parametry neuvedenΘ v p°φkazu ALTER SEQUENCE zachovajφ z p∙vodnφ definice sekvence. Zachovß se takΘ hodnota, kterß se mß vygenerovat jako p°φÜtφ (pokud pat°φ do intervalu mezi maximßlnφ a minimßlnφ hodnotou). Zm∞nou poΦßteΦnφ hodnoty sekvence nelze zm∞nit hodnotu, kterß se ze sekvence vygeneruje jako p°φÜtφ.

Krok sekvence nesmφ b²t nulov². Je-li krok zßporn², pak hodnoty v sekvenci klesajφ, jinak rostou.

Maximum musφ b²t v∞tÜφ ne₧ minimum a poΦßteΦnφ hodnota sekvence musφ le₧et mezi nimi. Je-li krok sekvence kladn², pak implicitnφ hodnota minima je 1, implicitnφ hodnota maxima je nejv∞tÜφ zobrazitelnΘ kladnΘ celΘ Φφslo a poΦßteΦnφ hodnota se rovnß minimu. Je-li krok sekvence zßporn², pak implicitnφ hodnoty minima je nejmenÜφ zobrazitelnΘ zßpornΘ celΘ Φφslo, implicitnφ hodnota maxima je û1 a poΦßteΦnφ hodnota se rovnß maximu.

Je-li pomocφ parametru CYCLE nastaveno cyklickΘ generovßnφ Φφsel, pak sekvence po dosa₧enφ svΘho maxima (nebo minima v p°φpad∞ klesajφcφ sekvence) automaticky vygeneruje jako dalÜφ hodnotu svΘ (zadanΘ nebo implicitnφ) minimum (resp.maximum).

Pou₧itφ vyrovnßvacφ pam∞ti zrychluje generovßnφ hodnot v sekvenci. P°i prvnφ pot°eb∞ alokovat hodnotu se naplnφ celß cache. Pokud n∞kterΘ hodnoty z cache nebudou vyu₧ity, vrßtφ se do sekvence p°i ukonΦovßnφ serveru. Nenφ-li server korektn∞ ukonΦen v d∙sledku v²padku systΘmu, hodnoty v cache budou ztraceny.

Parametry ORDER a NOORDER se ignorujφ a jsou p°φpustnΘ pouze z d∙vodu kompatibility.

P°φklad pou₧itφ:

CREATE SEQUENCE SEQ10
START WITH 0
INCREMENT BY 10
NOMAXVALUE
NOMINVALUE
CACHE 2
NOCYCLE
ORDER