FirebirdSQL logo

Exemples

Example 1. Suppression de la séquence
DROP SEQUENCE EMP_NO_GEN;

RECREATE SEQUENCE

affectation

Créer ou recréer une séquence (générateur).

Disponible en

DSQL, ESQL

Syntaxe
RECREATE {SEQUENCE | GENERATOR} seq_name
  [START WITH start_value]
  [INCREMENT [BY] increment];
Table 1. Paramètres de l’opérateur RECREATE 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).

increment

Incrément d’étape. Entier de 4 octets.

L’opérateur RECREATE SEQUENCE crée ou recrée une séquence (générateur). Si une séquence portant ce nom existe déjà, l’opérateur RECREATE SEQUENCE tentera de la supprimer et de créer une nouvelle séquence. S’il existe des dépendances pour une séquence existante, l’opérateur RECREATE SEQUENCE ne sera pas exécuté.

docnext count = 4

Exemples

Example 1. Recréer une séquence
RECREATE SEQUENCE EMP_NO_GEN
START WITH 10
INCREMENT BY 1;

SET GENERATOR

affectation

Règle la valeur de la séquence ou de l’oscillateur sur la valeur définie.

Disponible en

DSQL, ESQL

Syntaxe
SET GENERATOR seq_name TO new_val
Table 1. Paramètres de l’opérateur SET GENERATOR
Paramètre Description

seq_name

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

new_val

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

L’opérateur SET GENERATOR fixe la valeur de la séquence ou du générateur à la valeur spécifiée.

Note

L’opérateur SET GENERATOR est considéré comme obsolète et a été abandonné par souci de rétrocompatibilité. Il est désormais recommandé d’utiliser l’opérateur ALTER SEQUENCE, conforme à la norme, à la place.

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

Qui peut changer la valeur du générateur ?

L’instruction SET GENERATOR peut être exécutée :

  • Administrateurs.

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

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

Exemples

Example 1. Définition d’une valeur pour la séquence
SET GENERATOR EMP_NO_GEN TO 145;
Note

La même chose peut être faite en utilisant l’opérateur ALTER SEQUENCE

ALTER SEQUENCE EMP_NO_GEN RESTART WITH 145;