列Bが12,13または14に等しい場合、列AがNULLになることはできないという表(SQL Server 2008 R2)の挿入または更新で条件付き検証を表現できますか。特定の条件でnullを防止する
2
A
答えて
7
あなたは、テーブルレベルCHECK
constraintでこれを実装することができます。
ALTER TABLE YourTable
ADD CONSTRAINT CK_YourCheck
CHECK(ColumnA IS NOT NULL OR ColumnB NOT IN (12, 13, 14))
1
はい、あなたはこのようなCheck Constraint
何かを使用してこれを行うことができますか?
一階述語論理でADD CONSTRAINT check validCHECK (
((B BETWEEN 12 and 14) AND A IS NOT NULL)
OR B NOT BETWEEN 12 and 14
);
0
、これは意味合いとして知られている:implcation法を適用
IF x THEN y
、上記の本に変換することができます。
(NOT (x)) OR y
あなたの式を代入します:
IF column B is equal to 12,13 or 14 THEN A cannot be null
したがって
(NOT x) OR (NOT y) is equivlent to NOT (x AND y)
:
NOT (B IN (12, 13, 14) AND A IS NULL)
SQLのDDL:
ド・モルガンの法則を適用する(NOT (B IN (12, 13, 14))) OR (NOT (A IS NULL))
:SQL式を代入
(NOT (column B is equal to 12,13 or 14)) OR A cannot be null
:implcation法を適用します
ALTER TABLE YourTable ADD
CONSTRAINT your_rule
CHECK (NOT (B IN (12, 13, 14) AND A IS NULL));
+0
誰かがなぜこの1つがdownvoted得たか知っていますか? – onedaywhen
関連する問題
- 1. Oracle。マージサブクエリとメインクエリ条件の防止
- 2. テキストボックス変更の条件付き防止
- 3. 特定の条件のページ戻るボタン、Ionic2を防ぐ
- 4. 特定の条件でコードが停止する
- 5. 特定の条件で再帰を停止できません
- 6. ブランチが特定の条件のメッセージでコミットした場合、マージを防止する
- 7. 特定の条件
- 8. 特定の条件
- 9. Regexは特定の条件を除いた条件です
- 10. 特定の条件でカウントする値
- 11. opencartで特定の条件で特定のページにアクセスする
- 12. 特定のタイトルでのsifrの防止
- 13. MySQLの特定の条件
- 14. 特定の条件のマイナス
- 15. 特定の条件でテンプレートが作成されるのを止める方法
- 16. IOS9 ContactsUI特定の条件
- 17. TukeyHSD特定の条件
- 18. 特定の条件でwinsoundを再生
- 19. 特定の条件にバインドするGrid.MVC
- 20. Running mouseReleased()特定の条件でのみ
- 21. Visual Studio 2010で特定のファイルのJScriptデバッグを防止する
- 22. はここで特定の条件
- 23. 防止スプリングバッチproxifying特定のBean
- 24. Quaternionで特定軸周りの回転を防止する
- 25. Scrapy:条件項目値で歩留まり要求を防止する方法
- 26. パネルデータパンダ、特定の条件によるバリエーション
- 27. サブテーブルの条件でnullを返す
- 28. rggplot - 条件付きでaes要素をNULLに設定する
- 29. JSF not null条件
- 30. MultiDataTrigger条件nullチェック
既に強調されていますが、特定の質問に基づいてサンプルコードを追加する価値があります。 –
@Damien_The_Unbeliever良いアドバイスが追加されました... –
奇数...これを試すと、エラーが発生します。ALTER TABLEステートメントがCHECK制約CK_YourCheckと競合しました。ステートメントは、存在しない制約とどのように競合しますか?あなたが疑問に思っている場合には、私は今のところ制約を破らない場所でデータを再確認しました。 – keithwarren7