FirebirdSQL logo

Exemples

Example 1. Création d’une séquence

Crée une séquence EMP_NO_GEN avec une valeur initiale de 0 et des incréments égaux à un.

CREATE SEQUENCE EMP_NO_GEN;
Example 2. Création d’une séquence

Crée une séquence EMP_NO_GEN avec une valeur initiale de 5 et des incréments égaux à un.

CREATE SEQUENCE EMP_NO_GEN START WITH 5;
Example 3. Création d’une séquence

Créez une séquence EMP_NO_GEN avec une valeur initiale de 1 et des incréments de 10.

CREATE SEQUENCE EMP_NO_GEN INCREMENT BY 10;
Example 4. Création d’une séquence

Créez une séquence EMP_NO_GEN avec une valeur de départ de 5 et des incréments de 10.

CREATE SEQUENCE EMP_NO_GEN START WITH 5 INCREMENT BY 10;

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.