我需要创建一个包含User
和telephone_number
列的表e_mail_adress
。每行必须至少设置一列。它既可以有两个,也可以只有一个,但它必须至少有一个。
如何在SQL中表达该约束?
答案 0 :(得分:5)
create table Users (
/* Whatever */
TelephoneNumber varchar(2000) null,
EmailAddress varchar(5) null,
constraint CK_AtLeastOneContact CHECK (
TelephoneNumber is not null or
EmailAddress is not null
)
)
您可能需要调整数据类型: - )