Alter Sequence Oracle
Bonjour,
J'utilise les séquences oracle et j'aimerais savoir si il ya un moyen pour mettre ces séquences à une valeur choisie ...
Par exemple la séquence est à 3 et je ve la passer directement à 15 (sans exécuter 12 fois la commande 'select sequence.nextval from dual)
Merci de votre aide
marmotte
J'utilise les séquences oracle et j'aimerais savoir si il ya un moyen pour mettre ces séquences à une valeur choisie ...
Par exemple la séquence est à 3 et je ve la passer directement à 15 (sans exécuter 12 fois la commande 'select sequence.nextval from dual)
Merci de votre aide
marmotte
2 réponses
-
avec un for loop de ton ancienne valeur à la nouvelle et au milieu select sequence.nextval
-
Bonjour;
pour faire cela, il faut altèrer la séquence, et lui donner un pas qui est égale à la différence entre l'ancien n° et le nouveau.
pour cela, utiliser en pl/sql la procédure FORMS_DLL(instruction LDD).
exemple: si la séquence est à 2 et vous voulez que ça passe à 10, vous mettez:
FORMS_DDL('alter sequence SEQ_NAME INCREMENT BY 8');
la différence vous pouvez la paramétrer dans une variable que vous calculez auparavant.
ex: si le nom de la variable est DIFF, vous avez l'instruction:
FORMS_DDL('alter sequence SEQ_NAME INCREMENT BY'||DIFF);
bon courage;
DIVAL