Sémantique
schéma
Spécifier le schéma devant contenir la séquence. Si vous omettez schema
, alors Oracle Database crée la séquence dans votre propre schéma.
séquence
Spécifier le nom de la séquence à créer.
Si vous ne spécifiez aucune des clauses suivantes, alors vous créez une séquence ascendante qui commence par 1 et augmente de 1 sans limite supérieure. En spécifiant uniquement INCREMENT
BY
-1, vous créez une séquence descendante qui commence par -1 et diminue sans limite inférieure.
-
Pour créer une séquence qui s’incrémente sans limite, pour les séquences ascendantes, omettez le paramètre
MAXVALUE
ou spécifiezNOMAXVALUE
. Pour les séquences descendantes, omettre le paramètreMINVALUE
ou spécifierNOMINVALUE
. -
Pour créer une séquence qui s’arrête à une limite prédéfinie, pour une séquence ascendante, spécifier une valeur pour le paramètre
MAXVALUE
. Pour une séquence descendante, spécifiez une valeur pour le paramètreMINVALUE
. Spécifiez égalementNOCYCLE
. Toute tentative de générer un numéro de séquence une fois que la séquence a atteint sa limite entraîne une erreur. -
Pour créer une séquence qui redémarre après avoir atteint une limite prédéfinie, spécifiez des valeurs pour les paramètres
MAXVALUE
etMINVALUE
. Spécifiez égalementCYCLE
. Si vous ne spécifiez pasMINVALUE
, la valeur par défaut estNOMINVALUE
, qui est la valeur 1.
INCREMENT BY Spécifiez l’intervalle entre les numéros de séquence. Cette valeur entière peut être n’importe quel nombre entier positif ou négatif, mais elle ne peut pas être 0. Cette valeur peut avoir 28 chiffres ou moins. L’absolu de cette valeur doit être inférieur à la différence entre MAXVALUE
et MINVALUE
. Si cette valeur est négative, alors la séquence descend. Si cette valeur est positive, alors la séquence est ascendante. Si vous omettez cette clause, l’intervalle a la valeur 1 par défaut.
START WITH Spécifiez le premier numéro de séquence à générer. Utilisez cette clause pour commencer une séquence ascendante à une valeur supérieure à son minimum ou pour commencer une séquence descendante à une valeur inférieure à son maximum. Pour les séquences ascendantes, la valeur par défaut est la valeur minimale de la séquence. Pour les séquences descendantes, la valeur par défaut est la valeur maximale de la séquence. Cette valeur entière peut avoir 28 chiffres ou moins.
Note:
Cette valeur n’est pas nécessairement la valeur à laquelle une séquence cyclique ascendante effectue un cycle après avoir atteint sa valeur maximale ou minimale.
MAXVALUE Spécifiez la valeur maximale que la séquence peut générer. Cette valeur entière peut avoir 28 chiffres ou moins. MAXVALUE
doit être égale ou supérieure à START
WITH
et doit être supérieure à MINVALUE
.
NOMAXVALUE Spécifiez NOMAXVALUE
pour indiquer une valeur maximale de 1027 pour une séquence ascendante ou -1 pour une séquence descendante. C’est la valeur par défaut.
MINVALUE Spécifiez la valeur minimale de la séquence. Cette valeur entière peut avoir 28 chiffres ou moins. MINVALUE
doit être inférieure ou égale à START
WITH
et doit être inférieure à MAXVALUE
.
NOMINVALUE Spécifiez NOMINVALUE
pour indiquer une valeur minimale de 1 pour une séquence ascendante ou -1026 pour une séquence descendante. C’est la valeur par défaut.
CYCLE Spécifiez CYCLE
pour indiquer que la séquence continue à générer des valeurs après avoir atteint sa valeur maximale ou minimale. Après qu’une séquence ascendante ait atteint sa valeur maximale, elle génère sa valeur minimale. Après qu’une séquence descendante ait atteint sa valeur minimale, elle génère sa valeur maximale.
NOCYCLE Spécifiez NOCYCLE
pour indiquer que la séquence ne peut plus générer de valeurs après avoir atteint sa valeur maximale ou minimale. C’est la valeur par défaut.
CACHE Spécifiez le nombre de valeurs de la séquence que la base de données préalloue et conserve en mémoire pour un accès plus rapide. Cette valeur entière peut avoir 28 chiffres ou moins. La valeur minimale de ce paramètre est 2. Pour les séquences qui ont un cycle, cette valeur doit être inférieure au nombre de valeurs du cycle. Vous ne pouvez pas mettre en cache plus de valeurs qu’il n’y en aura dans un cycle donné de numéros de séquence. Par conséquent, la valeur maximale autorisée pour CACHE
doit être inférieure à la valeur déterminée par la formule suivante :
(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)
Si une panne du système se produit, alors toutes les valeurs de séquence mises en cache qui n’ont pas été utilisées dans des instructions DML engagées sont perdues. Le nombre potentiel de valeurs perdues est égal à la valeur du paramètre CACHE
.
Note:
Oracle recommande d’utiliser le paramètre CACHE
pour améliorer les performances si vous utilisez des séquences dans un environnement Oracle Real Application Clusters.
NOCACHE Spécifiez NOCACHE
pour indiquer que les valeurs de la séquence ne sont pas préallouées. Si vous omettez à la fois CACHE
et NOCACHE
, alors la base de données met en cache 20 numéros de séquence par défaut.
ORDER Spécifiez ORDER
pour garantir que les numéros de séquence sont générés dans l’ordre de la demande. Cette clause est utile si vous utilisez les numéros de séquence comme horodatage. Garantir l’ordre n’est généralement pas important pour les séquences utilisées pour générer des clés primaires.
ORDER
est nécessaire uniquement pour garantir une génération ordonnée si vous utilisez Oracle Real Application Clusters. Si vous utilisez le mode exclusif, alors les numéros de séquence sont toujours générés dans l’ordre.
NOORDER Spécifiez NOORDER
si vous ne voulez pas garantir que les numéros de séquence sont générés dans l’ordre de la demande. Il s’agit de la valeur par défaut.