Share via


CHECK 制約式を定義する方法 (Visual Database Tools)

テーブルまたは列に CHECK 制約を適用する場合は、SQL 式を含める必要があります。この操作の詳細については、「テーブルまたは列に新しい CHECK 制約を適用する方法 (Visual Database Tools)」を参照してください。

データが単一の条件を満たすかどうかを確認するには単一の制約式を作成し、データが複数の条件を満たすかどうかを確認するにはブール型の演算子を使用した複合式を作成できます。たとえば、authors テーブルに、5 桁の文字列を必要とする zip 列が存在すると仮定します。次の制約式のサンプルは、5 桁の数値だけを許可します。

zip LIKE '[0-9][0-9][0-9][0-9][0-9]'

または、sales テーブルに、0 より大きい値が要求される qty という列が含まれていると仮定します。この制約例では、正の値だけが許可されるように保証します。

qty > 0

制約式を定義するには

  1. 新しい CHECK 制約を作成します。その方法の詳細については、「テーブルまたは列に新しい CHECK 制約を適用する方法 (Visual Database Tools)」を参照してください。

  2. [制約のチェック] ダイアログ ボックスで、次の構文を使用して [制約式の確認] ダイアログ ボックスに式を入力します。

    {constant
    column_name
    function
    (subquery)}
    [{operator
    AND
    OR
    NOT}
    {constant
    column_name
    function
    (subquery)}]
    

    SQL 構文は、次のパラメータで構成されています。

    パラメータ

    説明

    constant

    数値データ、文字データなどのリテラル値です。文字データは単一引用符 (') で囲む必要があります。

    column_name

    列を指定します。

    function

    組み込み関数です。関数の詳細については、「システム関数 (Transact-SQL)」を参照してください。

    operator

    算術演算子、ビット処理演算子、比較演算子、または文字列演算子です。演算子の詳細については、「式における演算子の使用」を参照してください。

    AND

    ブール式で 2 つの式を結合するときに使用します。両方の式が true のとき、結果が返されます。

    1 つのステートメントで AND と OR が使用されているときは、AND が先に処理されます。実行順序を変更するには、かっこを使用します。

    OR

    ブール式で 2 つ以上の条件を結合するときに使用します。どちらかの条件が true のとき、結果が返されます。

    1 つのステートメントで AND と OR が使用されているときは、OR は AND の後に処理されます。実行順序を変更するには、かっこを使用します。

    NOT

    LIKE、NULL、BETWEEN、IN、EXISTS などのキーワードを含むすべてのブール式を無効にします。

    1 つのステートメントで複数の論理演算子が使用されているときは、NOT が先に処理されます。実行順序を変更するには、かっこを使用します。