FirebirdSQL logo

ALTER SEQUENCE

affectation

Modification de la séquence (générateur).

Disponible en

DSQL, ESQL

Syntaxe
ALTER {SEQUENCE | GENERATOR} seq_name
[RESTART [WITH newvalue]]
[INCREMENT [BY] increment]
Table 1. Paramètres de l’opérateur ALTER SEQUENCE
Paramètre Description

seq_name

Le nom de la séquence (générateur).

newvalue

Nouvelle valeur de la séquence (oscillateur). Nombre entier de 64 bits dans la plage -263 à 263 - 1

increment

Augmentation de l’étape. Ne peut pas être égal à "0".

L’opérateur ALTER SEQUENCE fixe la valeur de la séquence ou du générateur à une valeur spécifiée et/ou change la valeur de l’incrément.

La phrase RESTART WITH' vous permet de définir une valeur de séquence. La phrase `RESTART peut être utilisée indépendamment (sans WITH) pour redémarrer la valeur de la séquence à partir de la valeur où la génération de la valeur a commencé ou le redémarrage précédent a été lancé.

Warning

Une utilisation imprudente de l’opérateur ALTER SEQUENCE (changement de la valeur d’une séquence ou d’un générateur) peut entraîner une violation de l’intégrité logique des données.

La phrase "INCREMENT [BY]" vous permet de modifier le pas de séquence incrémentielle pour l’opérateur "NEXT VALUES FOR".

Note

La modification de la valeur de l’incrément est une fonctionnalité qui prend effet pour chaque requête exécutée après la validation du changement. Les procédures qui sont appelées pour la première fois après une modification de l’incrément utiliseront la nouvelle valeur si elles contiennent des instructions `NEXT VALUE FOR'. Les procédures qui sont déjà en cours d’exécution ne seront pas affectées car elles sont mises en cache. Les procédures qui utilisent `NEXT VALUE FOR' ne doivent pas être recompilées pour voir le nouvel incrément, mais si elles sont déjà en cours d’exécution ou chargées, il n’y a aucun effet.

Qui peut modifier la séquence ?

L’instruction ALTER SEQUENCE (ALTER GENERATOR) peut être exécutée :

  • administrators.

  • Le propriétaire de la séquence (générateur) ;

  • Utilisateurs ayant le privilège de `ALTER ANY SEQUENCE' (`ALTER ANY GENERATOR').