2010-09-30 3 views
10

Возможно ли в SQL Server 2008 создать такое ограничение, которое ограничивало бы два столбца значением NULL в одно и то же время? Так чтоОграничение NULL SQL Server

Column1 Column2 
NULL NULL -- not allowed 
1  NULL -- allowed 
NULL 2  -- allowed 
2  3  -- allowed 

ответ

14
ALTER TABLE MyTable WITH CHECK 
    ADD CONSTRAINT CK_MyTable_ColumNulls CHECK (Column1 IS NOT NULL OR Column2 IS NOT NULL) 

В рамках создания

CREATE TABLE MyTable (
Column1 int NULL, 
Column2 int NULL, 

CONSTRAINT CK_MyTable_ColumNulls CHECK (Column1 IS NOT NULL OR Column2 IS NOT NULL) 
) 
+10

+1: С другой стороны, 'COALESCE (COLUMN1, COLUMN2) НЕ NULL'. – RedFilter

+0

Отлично! Большое спасибо. – Max

Смежные вопросы