列に挿入できる、または列で更新できる値を制約するために使用される、名前付き単純ブール条件式を指定します(任意指定)。
列属性のCHECK制約は、そのテーブルの別の列や他のテーブルの列を参照できません。
複数のCHECK制約を1つの列に指定すると、このようになります。
- 複数の名前なし列レベルCHECK制約は、単一の列レベルCHECK制約に組み合わせられます。
- 複数の名前付き列レベルCHECK制約は、個別に処理されます。
非テンポラル テーブルとテンポラル テーブルに対して、列レベルのCHECK制約を指定できます。<Teradata Vantage™ - ANSIテンポラル テーブル サポート、B035-1186>と<Teradata Vantage™ - テンポラル テーブル サポート、B035-1182>を参照してください。
- CHECK (boolean_condition)
- boolean_conditionはcolumn_nameを参照する必要があります。
CHECK (boolean_condition)
- CONSTRAINT constraint_name
- 名前付きのCHECK列制約には、この構文を使用します。
CONSTRAINT constraint_name CHECK (boolean_condition)
例: 列レベルおよびテーブル レベル名前付きおよび名前なしCHECK制約の混合の指定
この例のリクエストは、名前の付いていない3つのCHECKをcolumn_1に結び付けます。制約check_0とcolumn_2の名前付きのCHECKのそれぞれは、テーブル制約として扱われます。
CREATE TABLE good_4 ( column_1 INTEGER CHECK (column_1 > 0) CHECK (column_1 < 999) CHECK (column_1 NOT IN (100,200,300)) CONSTRAINT check_0 CHECK (column_1 IS NOT NULL), column_2 INTEGER CONSTRAINT check_1 CHECK (column_2 > 0) CHECK (column_2 < 999));