背景
做业务的时候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;
本文介绍了解决Oracle数据库中因序列产生的唯一性约束冲突问题的方法。通过调整序列值来确保其与表中最大主键值一致,避免了ORA-00001错误的发生。

2732

被折叠的 条评论
为什么被折叠?



