0
Gracias

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

Reiniciar una secuencia

En este artículo te enseñamos una manera sencilla de reiniciar una secuencia (SEQ) en Oracle.




Cómo reiniciar una secuencia

Una vez creada la secuencia SEQ:
CREATE SEQUENCE SEQ;


tan solo hay que ver su valor actual mediante el comando:
SELECT SEQ.CURRVAL FROM DUAL;


A continuación se debe modificar la secuencia insertando la opción INCREMENT by y añadiendo en el valor VAL -1 para reiniciar la secuencia a 1:
ALTER SEQUENCE SEQ INCREMENT by -VAL;


Después hay que ejecutar el comando que va a reiniciar la secuencia:
SELECT SEQ.NEXTVAL FROM DUAL;


Y finalmente restablecer el incremento 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.


Foto: © Everypixel
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

El documento « Reiniciar una secuencia » se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.