B变有个字段叫NAME,想用check约束名字的长度大于12
SQL:alter table B add constraint l check(length(NAME)>12)
错误报告:
SQL 错误: ORA-02293: 无法验证 (PZ.L) - 违反检查约束条件
求check里面所支持的详细语句吧,在check里面好像不能用函数

解决方案 »

  1.   


    --因为你的表里面有记录,备份出来,然后按照下面得步骤操作,最后将数据倒回去。
    [TEST@orcl] SQL>truncate table t1;表被截断。[TEST@orcl] SQL>alter table t1 add constraint l check (length(id)>12);表已更改。
      

  2.   

    好贴、http://www.abab123.com/bbs/down.asp?html=1623485
      

  3.   

    用delete from B删除数据报同样的错误
    但是用truncate table B之后SQL:alter table B add constraint l check(length(NAME)>12)执行成功