如何在已创建的表中强制执行约束?

时间:2017-05-19 02:14:47

标签: sql oracle-sqldeveloper

我试图找出以下语句的正确约束语法:

“对于给定的度量,当存在Value时,异常值指示符必须为NULL(相反,如果存在异常值指示符,则值必须为NULL)。

'Value'和'Outlier Indicator'是我在表格中的两列。

到目前为止我一直在做的是

  1. 右键单击左侧窗格中的表名以打开“编辑表”
  2. 点击“修改”
  3. 点击左侧窗格中的“约束”
  4. 点击Green Plus> “新检查约束”
  5. 这会在“编辑表”框中打开一个名为“检查条件”的新文本部分,我必须在Oracle SQL Developer可以理解的语法中指定约束。

    到目前为止,这种方法已经实施了我已经实施的其他约束,但出于某种原因,我无法弄清楚如何说出这个特定的约束。

    任何帮助将不胜感激,谢谢。

    这一切都发生在Oracle SQL Developer,btw。

1 个答案:

答案 0 :(得分:0)

您可以在代码中执行此操作;

alter t add constraint chk_t_cols
    check ( (Value is null and outlier is not null) or (value is not null and outlier is null) )

check之后的部分是您在GUI中框中输入的部分。