> Tech > Séquences autogénérées

Séquences autogénérées

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Les programmeurs iSeries peuvent aussi améliorer leur productivité en déplaçant le simple traitement de gestion comme la génération de valeurs de clés dans le moteur DB2 UDB. Un nouvel objet DB2, séquence, offre cela en V5R3. On peut considérer qu'un objet séquence fournit un super ensemble des possibilités du support

Séquences autogénérées

d’attribut
de colonne Identity que l’on trouve en
V5R2. Les colonnes Identity fonctionnent bien pour générer
des valeurs de clés indépendantes, mais pas si la valeur de clé
générée doit être partagée par des tables différentes. Un objet
séquence DB2 UDB rend cela bien plus facile parce que la
valeur de clé courante est stockée dans l’objet séquence lui
même. L’exemple suivant montre comment créer l’objet séquence
et comment accéder à  la valeur de clé suivante :

CREATE SEQUENCE order_seq AS INTEGER
START WITH 1 INCREMENT BY 1 NO MAX VALUE
INSERT INTO orders(ordnum,custnum)
VALUES (NEXT VALUE FOR order_seq, 'A123')
VALUES NEXT VALUE FOR order_seq INTO:hostvar
UPDATE orders SET ordnum = :hostvar
WHERE custnum = 123

L’instruction Create Sequence crée l’objet séquence et
l’initialise avec la valeur définie sur la clause Start With. Il y a
aussi une instruction Alter Sequence pour permettre de
changer les attributs de l’objet séquence. L’objet séquence
doit être uniquement utilisé pour générer des valeurs de clés
numériques existantes ; donc, le type de données spécifié
doit être l’un des types de données entiers ou des types de
données numériques et décimales avec une échelle de zéro.
L’instruction Insert utilise l’expression Next Value pour
saisir la valeur de séquence courante puis faire incrémenter
par DB2 l’objet séquence à  la prochaine valeur dans la séquence.
Dans cet exemple, la valeur de 1 serait écrite dans la
colonne ordnum dans la table orders. L’instruction
Values montre comment utiliser l’expression Next Value pour
copier la valeur de séquence courante dans une variable
hôte. La valeur de clé générée dans la variable hôte peut ensuite
être facilement partagée parmi différentes tables.

Téléchargez cette ressource

Comment lutter contre le Phishing ?

Comment lutter contre le Phishing ?

Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Une réalité complexe qui exige des mesures de sécurité avancées et repensées au-delà de l’authentification multifacteur. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010