REFERENTIAL_CONSTRAINTS (Transact-SQL)

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

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

ms179987.note(ja-jp,SQL.90).gif重要 :
この機能は、以前のバージョンの SQL Server から変更されました。詳細については、「SQL Server 2005 におけるデータベース エンジン機能の動作の変更」を参照してください。
列名 データ型 説明

CONSTRAINT_CATALOG

nvarchar(128)

制約修飾子です。

CONSTRAINT_SCHEMA

nvarchar(128)

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

CONSTRAINT_NAME

sysname

制約名です。

UNIQUE_CONSTRAINT_CATALOG

nvarchar(128)

UNIQUE 制約修飾子です。

UNIQUE_CONSTRAINT_SCHEMA

nvarchar(128)

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

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)

その他の技術情報

SQL Server システム カタログに対するクエリ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手