本文主要是介绍【Oracle异常处理】ORA-02290: check constraint (CUSTOMER.SYS_C00218232) violated,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分析原因:
数据库表有一些字段添加了非空校验(Not Null);后来发现之前非空字段中部分字段允许为空(Null),所以我就直接通过Navicat工具操作,取消了非空标记。
问题处理:
1.根据异常信息和网上大神的分析发现,是数据库表中的部分字段违反了检查约束,但SQL异常并未指出具体字段,所以首先要知道违反检查约束的字段有哪些,
查询违反检查约束的字段:
SELECT * FROM user_constraints WHERE table_name='TABLE_NAME';
现在知道了所有检查约束,注意观察CONSTRAINT_NAME字段;也知道SQL异常中指出的报错信息:
ORA-02290: check constraint (CUSTOMER.SYS_C00218232) violated
说明是CUSTOMER.SYS_C00218232违反了检查约束,明确了问题,就根据报错的值删除对应的记录
ALTER TABLE TABLE_NAME DROP CONSTRAINT SYS_C00218232;
执行完即可继续运行程序
问题处理完成
这篇关于【Oracle异常处理】ORA-02290: check constraint (CUSTOMER.SYS_C00218232) violated的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!