Aller au contenu

Service SQL IBM i (AS/400) · Procédure

QSYS2.RESTART_IDENTITY

Aligner la colonne identité d'une table

Procédure qui détermine la prochaine valeur de la colonne identité d'une table source et règle la table cible sur la même valeur de départ.

À quoi ça sert

Après une copie ou une restauration de table, la colonne identité de la table cible peut repartir d'une valeur qui ne suit pas celle de la source. Cette procédure lit la prochaine valeur de la colonne identité de la table source (SOURCE_SYSTEM_TABLE_SCHEMA et SOURCE_SYSTEM_TABLE_NAME) et modifie la table cible (TARGET_SYSTEM_TABLE_SCHEMA et TARGET_SYSTEM_TABLE_NAME) pour qu'elle reparte de la même valeur.

Les noms attendus sont des noms système de tables. Elle modifie la définition de la table cible et n'a pas de mode aperçu.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

CALL QSYS2.RESTART_IDENTITY('JOBISQL', 'CLIENT', 'JOBISQL', 'CLIENTNEW');
INSERT INTO JOBISQL.CLIENTNEW (NOM) VALUES ('Premier client de la nouvelle table');
SELECT ID, NOM FROM JOBISQL.CLIENTNEW

Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :

ID NOM
21 Premier client de la nouvelle table

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Déterminer la prochaine valeur d'une colonne identité dans OLDLIB/OLDTABLE et régler NEWLIB/NEWTABLE sur cette même valeur.

-- Description: Determine the next value for an identity column in 
-- OLDLIB/OLDTABLE and change NEWLIB/NEWTABLE such that it has the 
-- same next value for its identity value 
 CALL QSYS2.RESTART_IDENTITY('OLDLIB', 'OLDTABLE', 
                             'NEWLIB', 'NEWTABLE');

Paramètres

ParamètreTypePar défautSignification
SOURCE_SYSTEM_TABLE_SCHEMA VARCHAR(10) obligatoire Schéma système de la table source
SOURCE_SYSTEM_TABLE_NAME VARCHAR(10) obligatoire Nom système de la table source
TARGET_SYSTEM_TABLE_SCHEMA VARCHAR(10) obligatoire Bibliothèque système de la table cible
TARGET_SYSTEM_TABLE_NAME VARCHAR(10) obligatoire Nom système de la table cible