sizinle başlamak isteyebilirsiniz max(trans_seq_no) + 1.
izle: Bir sayı ile bir diziyi oluştururken
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
, size dizisine karşı seçmek ilk kez Oracle döneceğini hatırlamak zorunda atadığınız başlangıç değeri. Eğer 'boşluksuz' olanı yapmaya çalışıyorsanız
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.
, şiddetle bunu
1 olması gerektiği belirtilir ve 2. bunun için bir diziyi kullanmayın.
+1, dizinin başlangıç noktasındaki yakalama için. Ayrıca, CACHE parametresini 1'den başka bir şeye ayarlıyorsa, boşluklar konusunda endişelenmiyor. – DCookie
Önbelleğin düşük olduğunu belirtecektim ama bu sorunun kapsamı dışındaydı. Şimdi kullanıcı boşluksuz rakamlar bekliyorsa, bir sırayla, başka şeyler geliyor. Rollback, bir diziyi 'azaltmaz';) –
Hmm, altta kalın olan tavsiye, alternatif bir yaklaşım ve/veya bir açıklama çağrısında bulunur ... –