私は、構造体のような種類を持つテーブルを持っている:SQL Serverのチェック制約ロジック
CREATE TABLE #Mine
(
ProductID INT
, CountryID INT
, ApplicationID INT
);
は、次のようにのは、それがデータを持っていると仮定しましょう:
ProductID CountryID ApplicationID
1 2 -1
1 3 -1
1 3 2
私は、このような強制したいのですが論理が無いとProductID
/CountryID
の組み合わせで全テーブルがある場合はApplicationID = -1
となります。私の例では、2行目と3行目はこれを渡しません。
これを検証し、CHECK
の制約を外すカスタム関数を作成することができました。おそらくそれを行うよりエレガントな方法はありますか?
私は答えましたが、今、私はそれが有効だそうわかりません。 'ApplicationID'が-1である行だけが存在するようにしたいと言っていますか? – DavidG
@DavidG正しいですが、-1以外の他のApplicationIDとの「ProductID」/「CountryID」の組み合わせが複数行あることがあります。 –
私の編集は今これを行うと思います。 – DavidG