zoukankan      html  css  js  c++  java
  • ORA-02290: 违反检查约束条件

           最近在执行数据归档的存储过程的时候,总是抛出以下异常信息:ORA-02290: check constraint (BZFZ_YC_IA.SYS_C0091946) violated。这个异常很奇怪,之前没遇到过,而且SYS_C0091946在plsql developer中也找不到,猜测可能是有字段不能为空造成的。但是根据经验字段不能为空应该抛出ORA-01400: cannot insert NULL into ("BZFZ_YC_IA"."HIS_CASE_INFO"."BILLING_STATUS")的异常,而且在plsql developer中查看,该字段确实是可为空的,而且也没有任何约束。一直纠结了半天,才在网上找到一些相关信息。

           首先,oracle数据库的约束有五种类型: 1、主键约束( Primary key, 简称 PK) 、 2、非空约束( not null , 简称 NN ) 、 3、唯一约束( Unique , 简称 UK ) 、4、检查约束( Check , 简称 CK ) 、 5、外键( Foreign key, 简称 FK )。这里的check应该是检查约束。

           要确定约束在哪一字段上,使用sql:

           select * from user_constraints where table_name='TABLENAME';

           SELECT * FROM USER_CONS_COLUMNS WHERE TABLE_NAME='TABLENAME';

           找到SYS_C0091946,删掉即可:ALTER TABLE TABLENAME DROP CONSTRAINT SYS_C0091946

  • 相关阅读:
    软件乘法实现
    矩阵连乘求解优化
    { 控件动态创建的堆与栈 }
    digital clock based C
    C++初探
    C语言语法教程-链表
    EF Core 实现读写分离的最佳方案
    Windows Terminal 安装及美化
    .netcore centos环境搭建实战
    AutoMapper.RegExtension 介绍
  • 原文地址:https://www.cnblogs.com/Ryan-Fei/p/13959999.html
Copyright © 2011-2022 走看看