ALTER SEQUENCE

Nom

ALTER SEQUENCE  --  modifie la définition d'un générateur de séquence

Synopsis

ALTER SEQUENCE nom [ INCREMENT [ BY
] increment ]
    [ MINVALUE valeurmin | NO
MINVALUE ] [ MAXVALUE valeurmax |
NO MAXVALUE ]
    [ RESTART [ WITH ] debut ] [
CACHE cache ] [ [ NO ] CYCLE ]
  

Description

ALTER SEQUENCE modifie les paramètres d'un générateur de séquence. Tout paramètre non précisé dans la commande ALTER SEQUENCE reste à sa valeur précédente.

Paramètres

nom

Le nom d'une séquence à modifier (pouvant être qualifié avec le nom du schéma).

increment

La clause INCREMENT BY increment est en option. Une valeur positive créera une séquence ascendante, une valeur négative une séquence descendante. Si non spécifié, la valeur de l'ancien incrément reste.

valeurmin
NO MINVALUE

La clause MINVALUE valeurmin en option détermine la valeur minimale qu'une séquence peut générer. Si NO MINVALUE est spécifié, La valeur par défaut, respectivement, de 1 et de -263-1 pour les séquences ascendantes et descendantes sera utilisée. SI aucune option n'est spécifiée, la valeur minimale courante reste.

valeurmax
NO MAXVALUE

La clause MAXVALUE valeurmax en option détermine la valeur maximale pour la séquence. Si NO MAXVALUE est spécifié, les valeurs par défaut 263-1 et -1 pour, respectivement, les séquences ascendantes et descendantes seront utilisées. Si aucune option n'est spécifiée, la valeur maximale courante reste.

debut

La clause RESTART WITH start en option modifie la valeur actuelle de la séquence.

cache

La clause CACHE cache active la préallocation des numéros de séquences et leur stockage en mémoire pour un accès plus rapide. La valeur minimale est de 1 (seule une valeur sera générée à la fois, donc pas de cache). Si non spécifiée, l'ancienne valeur reste.

CYCLE

Le mot clé CYCLE en option pourrait être utilisé pour autoriser le cycle de la séquence lorsque valeurmax ou valeurmin a été atteint par, respectivement, une séquence ascendante ou descendante. Si la limite est atteinte, le prochain numéro généré sera, respectivement, valeurmin ou valeurmax.

NO CYCLE

Si le mot clé NO CYCLE en option est spécifié, tout appel à nextval une fois que la séquence a atteint sa valeur max renverra une erreur. Si ni CYCLE ni NO CYCLE ne sont spécifiés, l'ancien comportement persiste.

Exemples

Relancer une séquence appelée serie, à 105 :

ALTER SEQUENCE serie RESTART WITH 105;

Notes

Pour éviter de bloquer des transactions concurrentes lors de la demande de numéro de la même séquence, ALTER SEQUENCE n'est jamais annulé ; les modifications prennent effet immédiatement et ne sont pas réversibles.

ALTER SEQUENCE n'affectera pas immédiatement les résultats de nextval sur les serveurs autres que celui qui a lancé la commande, s'ils ont préalloué (caché) des valeurs de la séquence. Ils utiliseront toutes les valeurs en cache avant de s'apercevoir des modifications sur les paramètres de la séquence. Le serveur qui a lancé la commande le saura immédiatement.

Compatibilité

SQL99

ALTER SEQUENCE est une extension de langage de PostgreSQL. Il n'existe pas d'instruction ALTER SEQUENCE dans SQL99.