4列のテーブルがあります:
(ID (PK, int, NOT NULL), col1 (NULL), col2 (NULL), col3 (NULL))
制約を追加したいと思いCHECK
ます(テーブルレベルだと思いますか?)。
if col1 OR col2 are NOT NULL then col3 must be NULL
と
if col3 is NOT NULL then col1 AND col2 must be NULL
つまり、 ifおよびare not null またはその逆であるcol3
必要がありますnull
col1
col2
私はSQLとSQLサーバーに非常に慣れていませんが、これを実際に実装する方法、または実装できる/実装する必要があるかどうかさえわかりませんか?
私は多分思う:
CHECK ( (col1 NOT NULL OR col2 NOT NULL AND col3 NULL) OR
(col3 NOT NULL AND col1 NULL AND col2 NULL) )
しかし、括弧を使用してこのようにロジックをグループ化できるかどうかはわかりませんか? そうでない場合、これをどのように実装するのが最善ですか?