私たちは、ワークフローが外部グループに情報を提出し、ユーザのID番号をシステムに入力するアプリケーションを持っています。私たちは、エントリの前に暫定値が承認され、永久的なものが中に入れられて、設定されたデフォルト値"00000000"
は、idフィールドに入れることを可能にする。そのため1つの例外を除いてカラムをユニークにする
。
私が探している何が本質的ですその1つの値を除いて列がunique
のままであることを保証する方法。
基本的にはUNIQUE
という制約がありますが、NULL
の代わりに"00000000"
という制約があります。私はCHECK
という制約の一部としてそれをやっていると考えましたが、それは大きなパフォーマンスのヒットになるようです。 (UNIQUEは、索引作成のいくつかの種類を行うという仮定の下で)
はnullを許可し、nullを不完全として扱います。チェック制約を使用するか、挿入トリガーの代わりに代わりに使用します(トリガーは嫌です) – Kritner
フィルターされたインデックスを参照してください:http://stackoverflow.com/documentation/sql/344/indexes/23954 /部分またはフィルタリングされたインデックス#t = 20161013174245878339 – Horaciux