|
Příkaz CREATE SEQUENCE | Sekvence | Příkaz DROP SEQUENCE |
příkaz_ALTER_SEQUENCE :== ALTER popis_sekvence
Příkaz ALTER SEQUENCE modifikuje existující definici sekvence nebo mění příští hodnotu sekvence. Stará definice bude přepsána novou podle popisu.
Při modifikování sekvence se parametry neuvedené v příkazu ALTER SEQUENCE zachovají z původní definice sekvence.
Sekvence po modifikaci bude pokračovat v číselné řadě jako před modifikací, s výjimkou dvou případů: je-li v příkazu uvedena mezi měněnými parametry klauzule RESTART WITH nová_hodnota, nastaví se jako příští hodnota sekvence nová_hodnota; je-li příkaz ve tvaru ALTER SEQUENCE jméno; (tj. bez parametrů sekvence), provede se nastavení hodnoty na počáteční hodnotu (reset sekvence).
V popisu sekvence v příkazu ALTER SEQUENCE nelze použít klauzuli AS pro specifikaci typu.
Provedení tohoto příkazu vždy ukončí otevřenou transakcí.
Alternativně lze sekvenci modifikovat z řídicího panelu vývojového prostředí 602SQL.
Příklad:
Při inicializaci změnit příští hodnotu sekvence na hodnotu o jedna větší než je maximální hodnota klíče v tabulce:
DECLARE maxid INT;
SELECT MAX(id)+1 INTO maxid FROM Tab;
CALL SQL_execute('ALTER SEQUENCE seqx RESTART WITH '||Int2str(maxid));
Odlišnosti od normy
Viz
Příkaz CREATE SEQUENCE | Sekvence | Příkaz DROP SEQUENCE |