CONSTRAINT_COLUMN_USAGE (Transact-SQL)

为当前数据库中定义了约束的每一列返回一行。该信息架构视图返回当前用户对其拥有权限的对象的相关信息。

若要从这些视图中检索信息,请指定 INFORMATION_SCHEMA.view_name 的完全限定名称。

列名

数据类型

说明

TABLE_CATALOG

nvarchar(128)

表限定符。

TABLE_SCHEMA

nvarchar(128)

包含表所有者的架构名。

重要说明重要提示
请勿使用 INFORMATION_SCHEMA 视图来确定对象的架构。查找对象架构的唯一可靠的方式是查询 sys.objects 目录视图或使用 OBJECT_SCHEMA_NAME 函数。

TABLE_NAME

nvarchar(128)

表名。

COLUMN_NAME

nvarchar(128)

列名。

CONSTRAINT_CATALOG

nvarchar(128)

约束限定符。

CONSTRAINT_SCHEMA

nvarchar(128)

包含该约束的架构的名称。

重要说明重要提示
请勿使用 INFORMATION_SCHEMA 视图来确定对象的架构。查找对象架构的唯一可靠的方式是查询 sys.objects 目录视图或使用 OBJECT_SCHEMA_NAME 函数。

CONSTRAINT_NAME

nvarchar(128)

约束名称。

示例

下面的示例从 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;

下面的示例返回数据库中引用列“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';