DB2 - Séquences

Ce chapitre vous présente le concept de séquence, la création de séquence, l'affichage de la séquence et leur suppression.

introduction

Une séquence est une fonction logicielle qui génère des nombres entiers dans l'ordre croissant ou décroissant, dans une plage définie, pour générer une clé primaire et coordonner d'autres clés dans la table. Vous utilisez la séquence pour disposer de nombres entiers, par exemple pour employee_id ou transaction_id. Une séquence peut prendre en charge les types de données SMALLINT, BIGINT, INTEGER et DECIMAL. Une séquence peut être partagée entre plusieurs applications. Une séquence est incrémentée ou décrémentée indépendamment des transactions.

Une séquence est créée par l'instruction CREATE SEQUENCE.

Types de séquences

Il existe deux types de séquences disponibles:

  • NEXTVAL: Il renvoie une valeur incrémentée pour un numéro de séquence.

  • PREVIOUS VALUE: Il renvoie la valeur récemment générée.

Paramètres des séquences

Les paramètres suivants sont utilisés pour les séquences:

Data type: Il s'agit du type de données de la valeur incrémentée renvoyée. (PETIT, GRAND, ENTIER, NOMBRE, DOUBLE)

START WITH: La valeur de référence avec laquelle la séquence commence.

MINVALUE: Une valeur minimale pour une séquence de début.

MAXVALUE: Une valeur maximale pour une séquence.

INCREMENT BY: valeur de pas par laquelle une séquence est incrémentée.

Sequence cycling: la clause CYCLE provoque la génération de la séquence à plusieurs reprises. La génération de séquence est effectuée en faisant référence à la valeur renvoyée, qui est stockée dans la base de données par la génération de séquence précédente.

Créer une séquence

Vous pouvez créer une séquence en utilisant la syntaxe suivante:

Syntax:

db2 create sequence <seq_name>

Example: [Pour créer une nouvelle séquence avec le nom 'sales1_seq' et augmentant les valeurs de 1]

db2 create sequence sales1_seq as int start 
with 1 increment by 1

Visualiser les séquences

Vous pouvez afficher une séquence en utilisant la syntaxe ci-dessous:

Syntax:

db2 value <previous/next> value for <seq_name>

Example: [Pour voir la liste des précédentes valeurs mises à jour dans la séquence 'sales1_seq']

db2 values previous value for sales1_seq

Output:

1 
----------- 
  4 
  1 record(s) selected.

Abandonner la séquence

Pour supprimer la séquence, vous devez utiliser le "DROP SEQUENCE »Commande. Voici comment procéder:

Syntax:

db2 drop sequence <seq_name>>

Example: [Pour supprimer la séquence 'sales1_seq' de la base de données]

db2 drop sequence sales1_seq

Output:

DB20000I The SQL command completed successfully.