我正在尝试创建一个检查约束,该约束强制执行跨两列的规则,但我收到此错误:
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)
答案 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)
/