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

Returns one row for each CHECK constraint in the current database. 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

CONSTRAINT_CATALOG

nvarchar(128)

Constraint qualifier.

CONSTRAINT_SCHEMA

nvarchar(128)

Name of the schema to which the constraint belongs.

ms189772.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 use the OBJECT_SCHEMA_NAME function.

CONSTRAINT_NAME

sysname

Constraint name.

CHECK_CLAUSE

nvarchar(4000)

Actual text of the Transact-SQL definition statement.

SQL Server 2008 differs from SQL Server 2000 in the way it decodes and stores SQL expressions in the catalog metadata. The semantics of the decoded expression are equivalent to the original text; however, there are no syntactic guarantees. For example, white spaces are removed from the decoded expression. For more information, see, Behavior Changes to Database Engine Features in SQL Server 2008.

Examples

The following example returns the columns CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, and CHECK_CLAUSE for each CHECK constraint in the database that contains 'StartDate' in the definition of the constraint.

USE AdventureWorks;
GO
SELECT CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CHECK_CLAUSE LIKE N'%StartDate%';

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;
See Also

Reference

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

Other Resources

Querying the SQL Server System Catalog

Help and Information

Getting SQL Server 2008 Assistance
Tags :


Page view tracker