假设我有一张这样的桌子,
import { Component, OnChanges, Input } from '@angular/core';
ngOnChanges(changes: any) {
if (changes.message != null && changes.message.currentValue != null) {
this.ExecuteMyFunction(this.message);
}
}
现在,id | first name | middle name | last name
列可以是name
,但如果{3}中的任何一列NULL
为first name
,则所有三列都必须为NOT NULL
}}
如何在Oracle中强制执行此操作?
答案 0 :(得分:3)
您可以使用所需的逻辑编写检查约束。 例如:
alter table yourTable
add constraint check_not_null check
(
first_name is not null and
middle_name is not null and
last_name is not null
OR
first_name is null and
middle_name is null and
last_name is null
);
答案 1 :(得分:1)
说,
alter table your_table
add constraint set_of_column_chk
check (nvl2(first_name, 1, 0) + nvl2(middle_name, 1, 0) + nvl2(last_name, 1, 0) in (0, 3));