次の方法で共有


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;