REFERENTIAL_CONSTRAINTS (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

現在のデータベース内の FOREIGN KEY 制約ごとに 1 行のデータを返します。 この情報スキーマ ビューは、現在のユーザーが権限を持つオブジェクトに関する情報を返します。

これらのビューから情報を取得するには、INFORMATION_SCHEMA.<ビュー名> という完全修飾名を指定します。

列名 データ型 説明
CONSTRAINT_CATALOG nvarchar(128) 制約修飾子。
CONSTRAINT_SCHEMA nvarchar(128) 制約を含むスキーマの名前。

重要: オブジェクトのスキーマを決定するために、INFORMATION_SCHEMA ビューを使わないでください。 INFORMATION_SCHEMA ビューが表すのは、オブジェクトのメタデータのサブセットのみです。 オブジェクトのスキーマを調べるための信頼できる唯一の方法は、sys.objects カタログ ビューのクエリを実行することです。
CONSTRAINT_NAME sysname 制約名。
UNIQUE_CONSTRAINT_CATALOG nvarchar(128) UNIQUE 制約修飾子です。
UNIQUE_CONSTRAINT_SCHEMA nvarchar(128) UNIQUE 制約を含むスキーマの名前。

重要: オブジェクトのスキーマを決定するために、INFORMATION_SCHEMA ビューを使わないでください。 INFORMATION_SCHEMA ビューが表すのは、オブジェクトのメタデータのサブセットのみです。 オブジェクトのスキーマを調べるための信頼できる唯一の方法は、sys.objects カタログ ビューのクエリを実行することです。
UNIQUE_CONSTRAINT_NAME sysname UNIQUE 制約。
MATCH_OPTION varchar(7) 参照制約の一致条件。 常に SIMPLE を返します。 これは、一致が定義されていないことを意味します。 次のいずれかに当てはまる場合には、条件は一致したと見なされます。

外部キー列内の少なくとも 1 つの値が NULL である。

外部キー列のすべての値が NULL ではなく、主キー テーブルに同じキーを持つ行があります。
UPDATE_RULE varchar(11) Transact-SQL ステートメントがこの制約で定義されている参照整合性に違反した場合に実行されるアクション。 次のいずれかを返します。
NO ACTION
CASCADE
SET NULL
SET DEFAULT

この制約に対して ON UPDATE で NO ACTION が指定されている場合、制約で参照されている主キーの更新は外部キーに反映されません。 少なくとも 1 つの外部キーに同じ値が含まれているため、このような主キーの更新によって参照整合性違反が発生する場合、SQL Server は親テーブルと参照テーブルを変更しません。 SQL Server でもエラーが発生します。

この制約の ON UPDATE で CASCADE が指定されている場合は、主キーの値の変更が外部キーの値に自動的に反映されます。
DELETE_RULE varchar(11) Transact-SQL ステートメントがこの制約で定義されている参照整合性に違反した場合に実行されるアクション。 次のいずれかを返します。
NO ACTION
CASCADE
SET NULL
SET DEFAULT

この制約の ON DELETE で NO ACTION が指定されている場合、制約で参照されている主キーの削除は外部キーに反映されません。 少なくとも 1 つの外部キーに同じ値が含まれているため、このような主キーを削除すると参照整合性違反が発生する場合、SQL Server は親テーブルと参照テーブルを変更しません。 SQL Server でもエラーが発生します。

この制約で ON DELETE で CASCADE が指定されている場合、主キー値に対する変更は自動的に外部キー値に反映されます。

参照

システム ビュー (Transact-SQL)
情報スキーマビュー (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)