ORA-00001: 违反唯一约束条件

在 oracle 中执行 sql 语句时,报错:“ORA-00001: 违反唯一约束条件 SYS_C0011100”

解决方案:
 --第一步:查看违反约束的序列对应的数据库表与字段
 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_C0011100';

或者:

SELECT DISTINCT table_name
FROM all_indexes
WHERE index_name = 'SYS_C0011100';
 
 --第二步:查询字段对应的序列(sequence)的下一次值是多少
 select S_RECORDID.nextval from dual;
 
 --第三步:查询数据表中对应字段的最大值
 select max(RECID) from m_Operrecord_Ht;
 
 --第四步:修改序列值步进大小,更新序列值
 alter sequence S_RECORDID increment by 200;
 
 --第五步:检查序列值是否修改成功,并超过数据库表中对应字段的最大值
 select S_RECORDID.nextval from dual;
 
 --第五步:恢复序列值步进大小为1
 alter sequence S_RECORDID increment by 1;

posted @ 2023-07-17 15:44  深海蓝精灵  阅读(2827)  评论(0编辑  收藏  举报