CREATE SEQUENCE

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écifiez NOMAXVALUE. Pour les séquences descendantes, omettre le paramètre MINVALUE ou spécifier NOMINVALUE.

  • 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ètre MINVALUE. Spécifiez également NOCYCLE. 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 et MINVALUE. Spécifiez également CYCLE. Si vous ne spécifiez pas MINVALUE, la valeur par défaut est NOMINVALUE, 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.