0
Gracias

Unas palabras de agradecimiento nunca están de más.

Reiniciar una secuencia


Para reiniciar una secuencia SEQ creada con el comando:

CREATE SEQUENCE SEQ;


Tan solo hay que ver su valor actual mediante el comando:

SELECT SEQ.CURRVAL FROM DUAL;


Luego modificar la secuencia insertando la opción increment by añadiendo en el valor VAL -(el valor actual -1) para reiniciar la secuencia en 1:

ALTER SEQUENCE SEQ INCREMENT by -VAL;


Luego ejecutar el comando que va a reiniciar la secuencia:

SELECT SEQ.NEXTVAL FROM DUAL;


Finalmente restablecer el incremento de la secuencia de la secuencia:

ALTER SEQUENCE SEQ INCREMENT by 1;


Ejemplo:

SQL> create sequence seq;

Secuencia creada.

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

Secuencia modificada.

SQL> select seq.nextval from dual;

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

SQL> alter sequence seq increment by 1;

Secuencia modificada.

0
Gracias

Unas palabras de agradecimiento nunca están de más.

Haz una pregunta
Nuestros contenidos son redactados en colaboración con expertos del ámbito tecnológico bajo la dirección de Jean-François Pillou, fundador de CCM.net y director digital en el Grupo Figaro. CCM es un sitio de tecnología líder a nivel internacional y está disponible en 11 idiomas.

Consulta también

0 Comentario