Alter Sequence Oracle

marmotte Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
sandul Messages postés 4013 Statut Membre -
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

2 réponses

DIVAL
 
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
1
wazzza
 
avec un for loop de ton ancienne valeur à la nouvelle et au milieu select sequence.nextval
-3
sandul Messages postés 4013 Statut Membre 723
 
Salut,

Il y a plus simple - disons que la nouvelle prochaine valeur devrait être 15:

ALTER SEQUENCE machin INCREMENT BY 1 MINVALUE 15 MAXVALUE 999999999999999999999999999 NOCACHE NOCYCLE NOORDER;

++
0