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';