DIED /* Year of death */ INTEGER constraint dir_died check (DIED>1930),
constraint corr_years check (born <= died)integer 应该可以设置为null 啊 , 因为我没有 写not null.可是读入数据的时候, 所有 died 为null , 都读入不进去, 看long 文件 错误是 Record 14: Rejected - Error on table DIRECTOR, column DIED.
ORA-01722: invalid number

解决方案 »

  1.   

    null > 1930这个表达式永远都是False所以NULL必然通不过check约束
      

  2.   


    DIED>1930 OR DIED IS NULL 试一试。。或者:
    NVL(DIED,2000)>1930楼上已说为什么。
      

  3.   

    比较时使用关键字用“is null”和“is not null”。
    其它任何关系运算符与null比较都为FALSE。
    对空值做加、减、乘、除等运算操作,结果仍为空。
      

  4.   

    空值问题,约束的条件null>1930,如果读取记录的时候出现null值,肯定会出现问题的。
    可以使用nvl(condition,defualt)或其他的约束条件进行过滤等。