2012-09-06 3 views

Répondre

2

lors de la création table, vous pouvez ajouter la contrainte dans CHECK manière suivante:

CREATE TABLE tableDemo (
    column1 int, 
    column2 varchar(50), 
    CONSTRAINT CK_column1_column2 CHECK ((column1 = 0 AND column2 IS NULL) OR column1 != 0) 
) 

Vérifiez la SQLFIDDLE

2

Si vous utilisez SQL Server, vous pouvez regarder à l'aide d'un CHECK Constraints

Jetez un oeil à l'exemple suivant

CREATE TABLE #Table(
     column_1 INT, 
     column_2 VARCHAR(250) 
) 

ALTER TABLE #Table 
ADD CONSTRAINT chkRow CHECK ((column_1 = 0 AND column_2 IS NULL) OR column_1 != 0) 

INSERT INTO #Table SELECT 0, NULL 
INSERT INTO #Table SELECT 0, 'TEST' 


INSERT INTO #Table SELECT 1, 'TEST' 


UPDATE #Table 
SET  column_1 = 0 
WHERE column_1 = 1 

SELECT * 
FROM #Table 

DROP TABLE #Table 
+0

Merci pour votre aide puis-je avoir quelque chose comme si je tire INSERT INTO #Table SELECT 0, 'TEST' une ligne avec 0 dans la colonne 1 et Null dans la colonne 2 devrait être insérée. –

Questions connexes