SQL 解説書

表検査制約

表検査制約 とは、 表の各行の 1 つ以上の列について可能な値を指定する規則のことです。 これらは任意選択であり、 SQL ステートメントの CREATE TABLE および ALTER TABLE を使用して定義されます。 表検査制約は、ある制限された形の探索条件で指定されます。 その制限の 1 つは、 表 T の表検査制約に含まれる列名は T の列を指定したものでなければならない、 ということです。

表には、任意の数の表検査制約を指定することができます。 表検査制約が実施されるのは以下の場合です。

表検査制約は、 挿入または更新される各行に対してその探索条件を適用することによって実施されます。 探索条件の結果が行のどれかに対して偽となった場合は、エラーになります。

既存データの含まれている表に対する ALTER TABLE ステートメントの中に表検査制約が定義されている場合、 その ALTER TABLE ステートメントの実行に先立って、 その既存のデータが新しい条件に基づいて検査されます。 表を検査保留状態 にすることができます。 検査保留状態では、データを検査しなくても ALTER TABLE ステートメントを実行することができます。

表を検査保留状態にするには、SET INTEGRITY ステートメントを使用します。 SET CONSTRAINT ステートメントは、制約に基づく各行の検査を再開するときにも使用されます。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]