背景
做业务的时候oracle数据库报 java.sql.SEQException: ORA-00001:unique constraint (aaa.bbb_pk) violated
分析
- 查看aaa.bbb_pk,发现aaa.bbb_pk是作用于tableName的主键,该主键ccc列由序列ccc_seqNo产生。
- 查看ccc的最大值select max(ccc) from tableName为2000。
- 查看序列ccc_seqNo的下一个值select ccc_seqNo.nextval from dual为1000。
- 需要将该序列的当前值改为2000。先increment by 1000(2000-1000),然后获取下一个值,最后将ncrement by 改为1。
结果
- alter sequence ccc_seqNo increment by 1000;
- select ccc_seqNo.nextval from dual;
- alter sequence ccc_seqNo increment by 1;