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

  1. 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
  2. wazzza
     
    avec un for loop de ton ancienne valeur à la nouvelle et au milieu select sequence.nextval
    -3
    1. 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