检查任一列是否在SQL中插入数据时具有值

我有一个场景,我在一个表中有 3 列C1, C2, C3allNVARCHARNULLABLE.
我正在使用 SQL Server。

问题在于插入我需要检查的数据中是否至少有 1 列有数据。

例如:
Valid data下面:

C1 C2 C3
空值 你好 世界
你好 空值 空值
你好 世界

回答

是的,这是可能的,甚至非常简单,但您应该使用检查约束来支持它,以防止将表更新到此无效状态。

基本上,这样的事情可以解决问题:

ALTER TABLE <Table Name>  
WITH CHECK ADD CONSTRAINT 
<Constraint Name> CHECK  (([A] IS NOT NULL OR [B] IS NOT NULL OR [C] IS NOT NULL));

您还可以使用COALESCE较短的代码:

ALTER TABLE <Table Name>  
WITH CHECK ADD CONSTRAINT 
<Constraint Name> CHECK (COALESCE([A],[B],[C]) IS NOT NULL);


以上是检查任一列是否在SQL中插入数据时具有值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>