web-dev-qa-db-fra.com

Db2: Comment mettre à jour la valeur actuelle d'une séquence

Nous utilisons une séquence dans une base de données Db2. Récemment, nous avons migré les données d’un serveur AIX vers un serveur Linux. Pendant ce temps, le dernier numéro de cette séquence n'a pas été déplacé sur le système Linux. En conséquence, nous voyons maintenant des valeurs en double.

Voici comment nous utilisons la séquence:

SELECT NEXTVAL FOR SEQ_YFS_ORDER_NO FROM SYSIBM.SYSDUMMY1

La valeur actuelle de la séquence sous Linux est 100092142. Comment puis-je la mettre à jour avec la valeur actuelle du système AIX, c'est-à-dire (100110960)?

4

Vous pouvez modifier la séquence avec ALTER SEQUENCE . Une option proposée par ALTER SEQUENCE est de le redémarrer avec une valeur spécifique . Essayez quelque chose comme ça:

ALTER SEQUENCE SEQ_YFS_ORDER_NO RESTART WITH 100110960

Notez également que les numéros de séquence sont généralement mis en cache. Cela peut créer un vide et avoir causé le problème lors de la migration.

7
data_henrik

Utilisez la requête ci-dessous pour extraire la valeur de la séquence suivante de la base de données DB2.

  SELECT NEXT VALUE FOR "Sequence_name"  FROM SYSIBM.SYSDUMMY1
0
Abhishek Jha