|
図27では、列のCHECK制約式の定義を行なうことができます。

図27:制約の定義
入力された列の値が正しいかどうかの判断を簡単な式によって検査することができます。但し、カレントレコード以外のレコードを参照したり、別のテーブルを参照したりして整合性検査を実施したい場合は、トリガに頼ることになります。CHECK制約では実現できません。
(([顧客番号] like 'PS[0-9][0-9][0-9][0-9]'))
のような制約式を登録すると、この顧客番号の列は
PS****
*は0から9の数字
となります。
[作成時に既存データを確認する]
テーブルにレコードがすでに登録されており、後からCHECK制約を作る場合は、既存の登録済みデータがCHECK制約に違反する可能性があります。もし違反するような場合は、このCHECK制約の登録がキャンセルされます。
このオプションを外すと、今後新しく登録されるレコードに対してだけCHECK制約を適用することになります。
[レプリケーションに対する制約を適用する]
このオプションを外すと、データベースレプリケーション作業中は、CHECK制約が無効化されます。
[INSERTとUPDATEに対する制約を適用する]
通常、このオプションを外してはいけません。このオプションを外すと、CHECK制約が働かなくなります。
これから入力するデータが明かにCHECK制約に違反することがわかっている場合や、一時的に制約を無効化させたい場合など、特殊な目的があるときは、このオプションを外します。
|