TABLE_CONSTRAINTS (Transact-SQL)

Returns one row for each table 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 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

sysname

Constraint name.

TABLE_CATALOG

nvarchar(128)

Table qualifier.

TABLE_SCHEMA

nvarchar(128)

Name of schema that contains the table.

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

sysname

Table name.

CONSTRAINT_TYPE

varchar(11)

Type of constraint:

  • CHECK

  • UNIQUE

  • PRIMARY KEY

  • FOREIGN KEY

IS_DEFERRABLE

varchar(2)

Specifies whether constraint checking is deferrable. Always returns NO.

INITIALLY_DEFERRED

varchar(2)

Specifies whether constraint checking is at first deferred. Always returns NO.

Examples

The following example returns all constraints in the database and orders the rows by CONSTRAINT_TYPE.

USE AdventureWorks;
GO

SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
ORDER BY CONSTRAINT_TYPE;