如果一个值为 NULL,则两个值均为 NULL



为清楚起见进行了编辑

第一部分我想根据规则自动更改数据:

对于每个区域,必须同时指定Area_one和Area_two,或者两者都不指定,例如:它们要么都是 NULL,要么它们都不是 NULL - 必须是表级别。

到目前为止,我已经想出了:

constraint chk_Null check (Area_one is not null and Area_two is not null)

但是这样,脚本只会拒绝任何插入的空数据。

第二部分我想根据规则自动更改数据:

对于给定值,当存在Value_one时,Value_two必须为 NULL(反之亦然(

我写过:

constraint Value_chk check((Value_one IS NULL and Value_two IS NOT NULL) 
or (Value_one is NOT NULL and value_two IS NULL))

但我不确定如何完成这些,或者我是否在正确的方向上。

提前感谢大家!

两者都为空或两者都不是:

constraint chk_Null check (
(Area_one is not null and Area_two is not null) OR
(Area_one is null and Area_two is null)
)

要更改数据,您必须在触发器中执行此操作,因为常规检查约束将验证数据(并可能回滚数据(但不更新数据。您的触发器必须在插入和更新时,并考虑提供的值都不为 null 的情况(您将更新哪一个?

相关内容

  • 没有找到相关文章

最新更新