CHECK_CONSTRAINTS (Transact-SQL)
現在のデータベース内の CHECK 制約ごとに 1 行のデータを返します。この情報スキーマ ビューは、現在のユーザーが権限を所有しているオブジェクトについての情報を返します。
このビューから情報を取得するには、INFORMATION_SCHEMA.view_name の完全修飾名を指定します。
列名 |
データ型 |
説明 |
---|---|---|
CONSTRAINT_CATALOG |
nvarchar(128) |
制約修飾子 |
CONSTRAINT_SCHEMA |
nvarchar(128) |
制約が属するスキーマの名前
重要
オブジェクトのスキーマを判定するのに INFORMATION_SCHEMA ビューを使用しないでください。オブジェクトのスキーマを検出する唯一の信頼性のある方法は、sys.objects カタログ ビューに対してクエリを実行するか、OBJECT_SCHEMA_NAME 関数を使用する方法です。
|
CONSTRAINT_NAME |
sysname |
制約名 |
CHECK_CLAUSE |
nvarchar(4000) |
Transact-SQL 定義ステートメントの実際のテキスト SQL Server 2008 では、SQL 式をデコードしてカタログ メタデータに格納する方法が SQL Server 2000 と異なります。デコードされた式のセマンティクスは元のテキストと同じですが、構文も同じであるとは限りません。たとえば、デコードされた式からは空白文字が削除されます。詳細については、「SQL Server 2008 におけるデータベース エンジン機能の動作の変更」を参照してください。 |
例
次の例では、制約の定義に 'StartDate' が含まれているデータベースの各 CHECK 制約の CONSTRAINT_CATALOG、CONSTRAINT_SCHEMA、CONSTRAINT_NAME、および CHECK_CLAUSE の列を返します。
USE AdventureWorks;
GO
SELECT CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CHECK_CLAUSE LIKE N'%StartDate%';
次の例では、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;