创建检查约束Oracle

时间:2016-01-17 21:48:36

标签: oracle constraints

我正在尝试创建一个检查约束,该约束强制执行跨两列的规则,但我收到此错误:

  

ORA-00920:无效的关系运算符。

我无法在语句中看到哪个关系运算符出错。有什么帮助吗?

alter table "TRANSACTION" add constraint "CHECK_TRANSACTIONREFERENCE" check 
    ("REFERENCE" case when TRANSACTION_MEAN=2 then 
          (case when 'Reference' is not null then 1 else 0 end) 
    else 
          1 
    end = 1)

1 个答案:

答案 0 :(得分:1)

您想要强制执行的业务规则似乎是

  

如果TRANSACTION_MEAN等于2

,则必须填充参考

那么为什么不编码?

alter table "TRANSACTION" 
    add constraint "CHECK_TRANSACTIONREFERENCE" 
    check (
             ( TRANSACTION_MEAN = 2 and Reference is not null)
       or TRANSACTION_MEAN != 2)
/