Alter Sequence Oracle

Fermé
marmotte Messages postés 17 Date d'inscription mardi 29 mai 2001 Statut Membre Dernière intervention 5 mai 2015 - 9 avril 2004 à 11:24
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 11 déc. 2008 à 09:48
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

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
avec un for loop de ton ancienne valeur à la nouvelle et au milieu select sequence.nextval
-3
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
11 déc. 2008 à 09:48
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