Les Allergies
Alimentaires

Oracle - Réinitialiser une séquence


Pour réinitialiser un séquence SEQ crée à travers la commande :
CREATE SEQUENCE SEQ;

Il suffit de voir sa valeur actuelle via la commande :
SELECT SEQ.CURRVAL FROM DUAL;

Ensuite modifier la séquence en injectant l'option increment by en ajoutant en valeur VAL -(la valeur actuelle - 1) pour réinitialiser la séquence à 1 :
ALTER SEQUENCE SEQ INCREMENT by -VAL;

Ensuite lancer la commande qui va réinitialiser la séquence :
SELECT SEQ.NEXTVAL FROM DUAL;

Enfin rétablir lincrement de la séquence de la séquence :
ALTER SEQUENCE SEQ INCREMENT by 1;


Exemple :
SQL> CREATE sequence seq;

Séquence créée.

SQL> SELECT seq.nextval from dual;

   NEXTVAL
----------
         1

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         2

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         3

SQL> select seq.currval from dual;

   CURRVAL
----------
         3

SQL> alter sequence seq increment by -2;  // 2=SEQ.CURRVAL-1

Séquence modifiée.

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         1

SQL> alter sequence seq increment by 1;

Séquence modifiée.
Publié par wjaouadi - Dernière mise à jour le 3 novembre 2009 à 13:00 par marlalapocket
Ce document intitulé « Oracle - Réinitialiser une séquence » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Oracle - Réinitialiser une séquence
  •  Oracle - Les séquences » Articles : Cet article s'appuie sur la version 8.1.6 d'Oracle. Une séquence est un objet de base de données Oracle, au même titre qu'une table, une vue, etc... Autrement dit, il appartient à un utilisateur, on peut le manipuler, le modifier, à condition...
  •  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...
  •  {Oracle} Créer une table avec AUTO_INCREMENT (Résolu) » Bonjour, Je souhaite créer une table avec comme identifiant un champ en AUTO_INCREMENT ... Je fais la requête suivante : SQL> CREATE TABLE Mode_hebergement2( 2 id INT NOT NULL AUTO_INCREMENT, 3 designation VARCHAR(30) NOT NULL, 4 PRIMARY KEY (id) 5 )...
  •  [Oracle] imp/exp 9i à 11gR2 - pb sequences (Résolu) » Meilleure réponse: Ce site est merveilleux. Je passe des heures (et parfois des jours) à trouver une solution, puis, désespérée, je poste sur le site. Et après avoir écrit mon problème, je trouve la solution dans l'heure qui suit... Pour ma part, j'avais
  •  Comment appeller une fonction stocké en oracl » Bonjour, Je suis en train de faire un projet en PHP/Oracle. Je le problème suivant : Comment peux-je appeller une fonction stocké en oracle depuis PHP ? Si qqun a déjà fait ça ou connais un document qui parle de ça, je suis prenant. Je vous remercie à...
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Oracle - Gestion des paramètres SQL
Oracle - Echappement de caractères spéciaux