Quand vous insérez une ligne dans une
colonne d'identité définie avec l'option
par défaut GENERATED ALWAYS,
aucune valeur n'est spécifiée pour la
colonne d'identité. La valeur de colonne
d'identité peut être omise de
l'une des deux manières décrites cidessous
:
INSERT INTO employee(name, dept#
VALUES('larry Bird', 'BC33')
ou
INSERT INTO
Générer une identité
employee
VALUES(DEFAULT,’Larry Bird’, ‘BC33’)
Si la ligne Larry Bird est la première
ligne ajoutée à la table employee, n’importe
quelle instruction INSERT génèrera
une valeur empid de 1 pour Larry
Bird.
Si on essaie de spécifier une valeur
pour une colonne d’identité créée
avec l’option GENERATED ALWAYS,
une erreur (SQLSTATE 428C9) est renvoyée.
Seule exception à cette règle : si
la clause OVERRIDING SYSTEM VALUE
a été spécifiée sur une instruction
INSERT (ou UPDATE). Si l’INSERT
contient une clause OVERRIDING SYSTEM
VALUE, les nouvelles valeurs spécifiées
pour une colonne d’identité
(plutôt que les valeurs générées par
DB2 UDB) sont utilisées.
Voici un exemple d’utilisation de
cette clause OVERRIDING pour spécifier
une valeur ID employé générée par
l’utilisateur pour Larry Bird :
INSERT INTO employee VALUES
(33,’Larry Bird’, ‘BC33’)
OVERRIDING SYSTEM VALUE
Cet exemple montre comment
l’option OVERRIDING SYSTEM VALUE
peut aussi introduire des trous dans la
suite de valeurs pour une colonne
d’identité.
OVERRIDING USER VALUE est une
autre option de remplacement que
l’on peut spécifier sur des instructions
INSERT (et UPDATE). Avec OVERRIDING
USER VALUE, DB2 UDB génère
toujours la valeur pour une colonne
d’identité et ignore les éventuelles
valeurs fournies par l’utilisateur pour
une instruction INSERT ou UPDATE.
Il n’y a pas d’option override pour
des interfaces non-SQL. Comme mentionné
précédemment, DB2 UDB génèrera
toujours la valeur de colonne
d’identité quand des lignes seront
ajoutées ou modifiées via une interface
non-SQL.
Le compteur de la colonne d’identité
est incrémenté ou décrémenté indépendamment
d’un job ou d’une
connexion. Si un job donné insère
deux lignes qui incrémentent un
compteur d’identité deux fois, ce job
peut subir un trou entre les deux
nombres qui sont générés, parce que
d’autres jobs peuvent être en train
d’incrémenter simultanément le
même compteur d’identité.
Une colonne d’identité peut aussi
sembler présenter des trous dans la
suite de valeurs, par suite d’une instruction
INSERT qui a été annulée dans
le cadre de la transaction de base de
données. Dès lors qu’une valeur de colonne
d’identité a été attribuée, elle ne
sera pas réutilisée même si l’instruction
INSERT associée a été annulée. Par
exemple, si le INSERT du premier employé
dans une table employee est annulé,
le prochain employé inséré dans
la table recevra un ID employé de 2,
pas 1. Les valeurs de colonne d’identité
qui ont été supprimées ne sont pas
non plus réutilisées.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- La connectivité, nouvelle colonne vertébrale de l’expérience en magasin
- Assises de la Sécurité 2026 : osons remettre l’humain au centre et reprendre les commandes
- Réforme de la facturation électronique 2026 : de la contrainte réglementaire à un véritable enjeu différenciant
- IA : la sécurité se prépare aux accès agentiques
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
