700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > oracle 解决序列号自增报 java.sql.SQLException: ORA-00001: 违反唯一约束条件 问题

oracle 解决序列号自增报 java.sql.SQLException: ORA-00001: 违反唯一约束条件 问题

时间:2023-10-13 18:51:19

相关推荐

oracle 解决序列号自增报 java.sql.SQLException: ORA-00001: 违反唯一约束条件 问题

项目场景:

oracle 数据库 用序列号作为主键,序列号自增。

-- 创建序列 语句:

CREATE SEQUENCE SEQ_A MINVALUE 1 MAXVALUE 99999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 ORDER NOCYCLE;

问题描述

在程序执行插入oracle 表A 数据时包如下错误:

java.sql.SQLException: ORA-00001: 违反唯一约束条件

原因分析:

之前手动插入A表一条数据

INSERT INTO A (SEQ_NO,CODE,NUMBER) VALUES (12,'DD','CC');

SEQ_NO 序列号12 已经被使用了,所以程序在执行插入操作时就报:

java.sql.SQLException: ORA-00001: 违反唯一约束条件

解决方案:

1 先查询A当前最大的序列号:

SELECT MAX(SEQ_NO) FROM A;

2 直接删除当前表的序列号:

DROPSEQUENCE SEQ_A ;

3 重新创建序列号:

CREATE SEQUENCE SEQ_A MINVALUE 1 MAXVALUE 99999999999999999 INCREMENT BY 1 START WITH (第一步查出来最大MAX(SEQ_NO)值)CACHE 10 ORDER NOCYCLE;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。