2010-09-30 16 views
10

È possibile in SQL Server 2008 creare un tale vincolo che limiti le due colonne ad avere valori NULL allo stesso tempo? In modo cheVincolo NULL SQL Server

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

risposta

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

Come parte del creare

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: In alternativa, 'COALESCE (Colonna1, Colonna2) non è NULL'. – RedFilter

+0

Ottimo! Molte grazie. – Max

Problemi correlati