Tutoriel SAP HANA: Créer une séquence

Anonim

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. peut être compris entre -4611686018427387903 et 4611686018427387902.
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 / PAS DE VALEUR MINIMALE Il spécifie la valeur minimale qu'une séquence peut générer. peut être compris entre -4611686018427387904 et 4611686018427387902. Lorsque NO MINVALUE est utilisé, la valeur minimale pour une séquence ascendante est 1
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. doit être un entier non signé.
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 et la valeur de séquence est redémarrée avec la valeur renvoyée.

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.