FirebirdSQL logo

CREATE SEQUENCE

affectation

Création d’une nouvelle séquence (générateur).

Disponible en

DSQL, ESQL

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

seq_name

Le nom de la séquence (générateur). Peut contenir jusqu’à 63 caractères.

start_value

Valeur initiale de la séquence (générateur). La valeur par défaut est 1.

increment

Incrément d’étape. 4 octets entiers. La valeur par défaut est 1.

L’instruction CREATE SEQUENCE crée une nouvelle séquence. Les mots SEQUENCE et GENERATOR sont synonymes. Vous pouvez utiliser les deux, mais il est recommandé d’utiliser SEQUENCE.

Au moment de la création de la séquence, celle-ci est définie par la valeur spécifiée dans la phrase facultative Débuter avec moins la valeur d’incrémentation spécifiée dans la phrase Incrémenter [par].S’il n’y a pas de clause STARTING WITH, la séquence est fixée à 1. Ainsi, si la valeur de départ de la séquence est 100 et que l’incrément est de 10, la première valeur donnée par l’instruction NEXT VALUE FOR sera 100.

Note

Avant Firebird 4.0, la première valeur donnée par l’instruction NEXT VALUE FOR était 110.

La phrase optionnelle INCREMENT [BY] vous permet de définir le pas d’incrémentation pour l’opérateur NEXT VALUES FOR. Le pas d’incrémentation par défaut est de un. L’incrémentation ne peut pas être mise à zéro pour les séquences personnalisées. La valeur de la séquence est également modifiée en appelant la fonction GEN_ID, où le nom de la séquence et la valeur d’incrémentation, qui peut être différente de celle spécifiée dans la phrase INCREMENT BY, sont donnés comme paramètres.

Qui peut créer une séquence ?

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

  • Administrateurs.

  • Utilisateurs avec le privilège CREATE SEQUENCE (CREATE GENERATOR).

L’utilisateur qui a créé la séquence devient le propriétaire de la séquence.