REFERENTIAL_CONSTRAINTS (Transact-SQL)

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

このビューから情報を取得するには、**INFORMATION_SCHEMA.**view_name の完全修飾名を指定します。

列名

データ型

説明

CONSTRAINT_CATALOG

nvarchar(128)

制約修飾子です。

CONSTRAINT_SCHEMA

nvarchar(128)

制約を含むスキーマの名前です。

重要な注意事項重要
オブジェクトのスキーマを判定するのに INFORMATION_SCHEMA ビューを使用しないでください。オブジェクトのスキーマを調べる唯一の信頼性のある方法は、sys.objects カタログ ビューに対するクエリを実行する方法です。

CONSTRAINT_NAME

sysname

制約名です。

UNIQUE_CONSTRAINT_CATALOG

nvarchar(128)

UNIQUE 制約修飾子です。

UNIQUE_CONSTRAINT_SCHEMA

nvarchar(128)

UNIQUE 制約を含むスキーマの名前です。

重要な注意事項重要
オブジェクトのスキーマを判定するのに 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 が指定されている場合、主キーの値の変更が外部キーの値に自動的に反映されます。