使用 PL/SQL,我正在构建一个包含配置的表,该表根据比率将样本分布定义为 2 个不同的集合。它有 4 列:sample_type、set_1、set_2、比率(进入 set_1 的样本百分比)。例如,如果一行是 ('walk', 'left', 'right', 50),这意味着对于类型为 'walk' 的样本,其中 50% 为 'left' 而其余的为 'right'。
我想添加一个检查约束,如果只有比率为 100,则确保 set_2 为空,即 100% 的样本进入 set_1。我尝试类似:
ALTER TABLE CONFIG
ADD CONSTRAINT CHK
CHECK (
NOT EXISTS (SELECT 1 FROM CONFIG WHERE SET_2 IS NULL AND RATIO <> 0)
)
但是,Oracle 不允许检查子查询。那么,是否有另一种方法可以为这种情况添加检查约束?
谢谢