Qu'est-ce que la séquence?
Une séquence est un objet de base de données qui génère automatiquement la liste incrémentée de valeurs numériques selon la règle spécifiée dans la spécification de séquence.
Par exemple pour insérer automatiquement le numéro d'employé dans la colonne (EMPLOYEE_NO) de la table, lorsqu'un nouvel enregistrement est inséré dans la table, alors nous utilisons la séquence.
Les valeurs de séquence sont générées par ordre croissant ou décroissant.
Les séquences ne sont pas associées aux tables; ils sont utilisés par l'application. Il y a deux valeurs dans l'ordre -
- CURRVAL - Fournit la valeur actuelle de la séquence.
- NEXTVAL - Fournit la valeur suivante de la séquence.
SYNTAXE
CREATE SEQUENCE[ ] [RÉINITIALISER PAR ]
ÉLÉMENTS DE SYNTAXE
ÉLÉMENTS | LA DESCRIPTION |
---|---|
C'est le nom de la séquence. | |
[
| Il spécifie un ou plusieurs paramètres de séquence. |
COMMENCER PAR | Il décrit la valeur de la séquence de départ. |
INCREMENT BY | Cela spécifie la valeur à incrémenter à partir de la dernière valeur attribuée à chaque fois qu'une nouvelle valeur de séquence est générée. La valeur par défaut est 1. |
MAXVALUE | Cela spécifie la valeur maximale, qui peut être générée par la séquence. |
AUCUNE VALEUR MAXIMALE | Lorsque NO MAXVALUE est spécifié, pour une séquence ascendante, la valeur maximale sera 4611686018427387903 et la valeur minimale pour une séquence descendante sera -1. |
MINVALUE | Il spécifie la valeur minimale qu'une séquence peut générer. |
CYCLE | La directive CYCLE spécifie que le numéro de séquence sera redémarré après avoir atteint sa valeur maximale ou minimale. |
PAS DE CYCLE | Option par défaut La directive NO CYCLE spécifie que le numéro de séquence ne sera pas redémarré après avoir atteint sa valeur maximale ou minimale. |
CACHE | La taille du cache spécifie la plage de numéros de séquence qui sera mise en cache dans un nœud. |
PAS DE CACHE | Option par défaut. La directive NO CACHE spécifie que le numéro de séquence ne sera pas mis en cache dans un nœud. |
RÉINITIALISER PAR | Il spécifie que lors du redémarrage de la base de données, la base de données exécute automatiquement la |
Exemple -
Nous allons créer une séquence nommée DHK_SCHEMA.EMP_NO, qui créera une valeur incrémentée de la séquence de +1 à chaque fois, lorsque la séquence est utilisée.
Script de séquence -
CRÉER LA SÉQUENCE DHK_SCHEMA.EMP_NO COMMENCER PAR 100 INCRÉMENT DE 1.
Ici, nous utiliserons l'objet "séquence" dans l'exemple ci-dessous pour incrémenter la valeur de l'employé no de +1 à chaque fois que la requête de sélection est exécutée. Dans la requête, le "nextval" peut être utilisé pour la génération du numéro de série ou pour le même type d'exigence.
Utilisation de la séquence -
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
SORTIE - 100,101,102
… Donc, à chaque exécution de la requête de sélection ci-dessus.