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.
Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.
si no quiero iniciar en uno, quiero iniciar en 1234, funciona igual?
Muchas gracias por leernos, si deberia funcionar igual, si tienes duda escribeme gguerrero@tecgurus.net, por favor indicame que vienes de programa en linea con gusto resuelvo tus dudas.