网站首页 > 数据库 / 正文
1.问题原因分析
出现这个问题的原因是插入数据的时候,由于之前没有使用序列插入,而是直接插入了一个比当前序列nextval还大的值,即直接将id写死了。后面再使用序列插入的时候,如果序列小于该值的话,是可以正常插入的,当序列号等于之前通过ID写死的方式插入的ID值时,就会出现这种情况。
2.解决方案
-- 查询出约束对应的表以及对应字段
select a.constraint_name,a.constraint_type,b.column_name,b.table_name
from user_constraints a inner join user_cons_columns b
on a.table_name = b.table_name
where a.constraint_name = 'SYS_C0016709';
--第二步:查询字段对应的序列(sequence)的下一次值是多少
-- select 序列名.nextval from dual;
select ZHGD_DEVICE_SEQ.nextval from dual;
--第三步:查询数据表中对应字段的最大值
-- select max(字段) from 表名;
select max(ID) from ZHGD_DEVICE;
--第四步:修改序列值步进大小,更新序列值
-- alter sequence 序列名 increment by 步进值(自己定义即可,需要超过数据库表中对应的最大值);
alter sequence ZHGD_DEVICE_SEQ increment by 200;
--第五步:按照步进值将序列值新增,并得到下一个序列值
-- select 序列名.nextval from dual;
select ZHGD_DEVICE_SEQ .nextval from dual;
--第六步:恢复序列值步进大小为1
--alter sequence 序列名 increment by 1;
alter sequence ZHGD_DEVICE_SEQ increment by 1;
Tags:oracle错误
猜你喜欢
- 2024-11-26 Oracle数据库故障处理--删除联机日志成员无法打开数据库
- 2024-11-26 centos安装oracle 11.2.0.1报错的处理方法
- 2024-11-26 oracle 19C ora-27104 故障解决方案
- 2024-11-26 Oracle技术分享 O/S-Error: (OS 3) 系统找不到指定的路径
- 2024-11-26 连接oracle的python代码出现Error: DPI-1047 问题解决办法
- 2024-11-26 他在使用oracle数据库,犯了什么错误将平台信息泄露的,结果如何
- 2024-11-26 Geoserver发布oracle spatial遇到的图层预览报错问题
- 2024-11-26 Navicat连接数据库出现ORA-28547?解决办法在这
- 2024-11-26 如何解决Oracle APEX导入应用时报413错误
- 2024-11-26 pycharm无法使用cx-oracle包,如何解决