sql >> データベース >  >> RDS >> Sqlserver

複数の列のチェック制約

    はい、テーブルでチェック制約を定義します レベル

    CREATE TABLE foo (
       bar int NOT NULL, 
       fred varchar(50) NOT NULL,
    
       CONSTRAINT CK_foo_stuff CHECK (bar = 1 AND fred ='fish')
    )
    

    としてインラインで宣言しています 制約

    ...
    fred varchar(50) NOT NULL CONSTRAINT CK_foo_fred CHECK (...)
    ...
    

    編集、説明よりも投稿が簡単。カンマを修正しました。

    CREATE TABLE dbo.Test 
    (   
      EffectiveStartDate  dateTime2(2)        NOT NULL,
      EffectiveEndDate    dateTime2(2)        NOT NULL,  --need comma
      CONSTRAINT CK_CmsSponsoredContents_EffectiveEndDate CHECK (EffectiveEndDate > EffectiveStartDate) --no comma
    );
    

    もちろん、FK制約であるはずのCHECK制約を使用しているのかという疑問が残ります...?



    1. Access2016でテンプレートからデータベースを作成する方法

    2. MySQL SELECT LIKEまたはREGEXPは、1つのレコード内の複数の単語に一致します

    3. MySQLルートユーザーを使用してMySQLにアクセスする方法

    4. PostgreSQLで数値を含まない値を検索する