CONSTRAINT_COLUMN_USAGE (Transact-SQL)

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

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

列名

データ型

説明

TABLE_CATALOG

nvarchar(128)

テーブル修飾子

TABLE_SCHEMA

nvarchar(128)

テーブルの所有者を含むスキーマの名前

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

TABLE_NAME

nvarchar(128)

テーブル名

COLUMN_NAME

nvarchar(128)

列名

CONSTRAINT_CATALOG

nvarchar(128)

制約修飾子

CONSTRAINT_SCHEMA

nvarchar(128)

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

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

CONSTRAINT_NAME

nvarchar(128)

制約名

次の例では、CHECK_CONSTRAINTS から列を返し、制約および制約が定義されている列に関する情報が表示される CONSTRAINT_COLUMN_USAGE のビューを返します。

USE AdventureWorks;
GO

SELECT ccu.TABLE_SCHEMA, ccu.TABLE_NAME, ccu.COLUMN_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS ccu
    ON cc.CONSTRAINT_NAME = ccu.CONSTRAINT_NAME;

次の例では、'StartDate' 列を参照するデータベース内のすべての制約を返します。

USE AdventureWorks;
GO

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, CONSTRAINT_SCHEMA, CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
WHERE COLUMN_NAME = 'StartDate';