es posible que desee comenzar con max(trans_seq_no) + 1.
reloj:
SQL> create table my_numbers(my_number number not null primary key);
Table created.
SQL> insert into my_numbers(select rownum from user_objects);
260 rows created.
SQL> select max(my_number) from my_numbers;
MAX(MY_NUMBER)
--------------
260
SQL> create sequence my_number_sn start with 260;
Sequence created.
SQL> insert into my_numbers(my_number) values (my_number_sn.NEXTVAL);
insert into my_numbers(my_number) values (my_number_sn.NEXTVAL)
*
ERROR at line 1:
ORA-00001: unique constraint (NEIL.SYS_C00102439) violated
Al crear una secuencia con un número, hay que recordar que la primera vez que se selecciona en contra de la secuencia, Oracle volverá el valor inicial que le asignó.
SQL> drop sequence my_number_sn;
Sequence dropped.
SQL> create sequence my_number_sn start with 261;
Sequence created.
SQL> insert into my_numbers(my_number) values (my_number_sn.NEXTVAL);
1 row created.
Si usted está tratando de hacer lo que es 'sin espacios en blanco', te aconsejamos que
1 no hacerlo, y # 2 no utilizar una secuencia para ello.
+1 para la captura en el punto inicial de la secuencia. Además, tengo que suponer que si está configurando el parámetro CACHE a algo que no sea 1, ¡no le preocupan las brechas! – DCookie
iba a mencionar que el caché era bajo, pero pensé que estaba fuera del alcance de la pregunta. Ahora, si el usuario está esperando números sin intervalo, por medio de una secuencia, tienen otras cosas por venir. Rollback no 'decrementa' una secuencia;) –
Hmm, ese consejo en negrita en la parte inferior requiere un enfoque alternativo y/o una explicación ... –