CONSTRAINT_COLUMN_USAGE (Transact-SQL)

Returns one row for each column in the current database that has a constraint defined on the column. This information schema view returns information about the objects to which the current user has permissions.

To retrieve information from these views, specify the fully qualified name of INFORMATION_SCHEMA.view_name.

Column name

Data type

Description

TABLE_CATALOG

nvarchar(128)

Table qualifier.

TABLE_SCHEMA

nvarchar(128)

Name of schema that contains the table owner.

Important noteImportant
Do not use INFORMATION_SCHEMA views to determine the schema of an object. The only reliable way to find the schema of an object is to query the sys.objects catalog view or the OBJECT_SCHEMA_NAME function.

TABLE_NAME

nvarchar(128)

Table name.

COLUMN_NAME

nvarchar(128)

Column name.

CONSTRAINT_CATALOG

nvarchar(128)

Constraint qualifier.

CONSTRAINT_SCHEMA

nvarchar(128)

Name of schema that contains the constraint.

Important noteImportant
Do not use INFORMATION_SCHEMA views to determine the schema of an object. The only reliable way to find the schema of an object is to query the sys.objects catalog view or the OBJECT_SCHEMA_NAME function.

CONSTRAINT_NAME

nvarchar(128)

Constraint name.

Examples

The following example returns columns from the CHECK_CONSTRAINTS and CONSTRAINT_COLUMN_USAGE views to display information about the constraint and the column on which the constraint is defined.

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;

The following example returns all constraints in the database that reference the column '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';