CONSTRAINT_TABLE_USAGE (Transact-SQL)
SQL Server 2008 Books Online (October 2009)
CONSTRAINT_TABLE_USAGE (Transact-SQL)

Returns one row for each table in the current database that has a constraint defined on the table. 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.

ms179883.note(en-us,SQL.100).gifImportant:
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

sysname

Table name.

CONSTRAINT_CATALOG

nvarchar(128)

Constraint qualifier.

CONSTRAINT_SCHEMA

nvarchar(128)

Name of schema that contains the constraint.

ms179883.note(en-us,SQL.100).gifImportant:
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

sysname

Constraint name.

Examples

The following example returns constraint information for each table or view in the Production schema.

USE AdventureWorks;
GO

SELECT *
FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE AS ctu
INNER JOIN sys.objects AS o ON ctu.TABLE_NAME = o.name 
    AND OBJECT_SCHEMA_NAME(o.object_id) = N'Production';

The following example returns each table or view in the database that has a CHECK constraint defined on it. The query contains a join to the CHECK_CONSTRAINT view to return the definition of the CHECK constraint.

USE AdventureWorks;
GO

SELECT ctu.TABLE_SCHEMA, ctu.TABLE_NAME, cc.CONSTRAINT_SCHEMA, cc.CONSTRAINT_NAME, cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS AS cc
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE AS ctu
    ON cc.CONSTRAINT_NAME = ctu.CONSTRAINT_NAME;
See Also

Reference

System Views (Transact-SQL)
Information Schema Views (Transact-SQL)
sys.objects (Transact-SQL)
sys.check_constraints (Transact-SQL)
sys.key_constraints (Transact-SQL)
sys.foreign_keys (Transact-SQL)
OBJECT_SCHEMA_NAME (Transact-SQL)

Other Resources

Querying the SQL Server System Catalog

Help and Information

Getting SQL Server 2008 Assistance
© 2009 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View