CONSTRAINT_TABLE_USAGE (Transact-SQL)
对于当前数据库中定义了约束的每个表,相应地返回一行。该信息架构视图返回当前用户对其拥有权限的对象的相关信息。
若要从这些视图中检索信息,请指定 INFORMATION_SCHEMA.view_name 的完全限定名称。
列名 |
数据类型 |
说明 |
---|---|---|
TABLE_CATALOG |
nvarchar(128) |
表限定符。 |
TABLE_SCHEMA |
nvarchar(128) |
包含该表的架构的名称。
重要提示
请勿使用 INFORMATION_SCHEMA 视图来确定对象的架构。查找对象架构的唯一可靠的方式是查询 sys.objects 目录视图或使用 OBJECT_SCHEMA_NAME 函数。
|
TABLE_NAME |
sysname |
表名。 |
CONSTRAINT_CATALOG |
nvarchar(128) |
约束限定符。 |
CONSTRAINT_SCHEMA |
nvarchar(128) |
包含该约束的架构的名称。
重要提示
请勿使用 INFORMATION_SCHEMA 视图来确定对象的架构。查找对象架构的唯一可靠的方式是查询 sys.objects 目录视图或使用 OBJECT_SCHEMA_NAME 函数。
|
CONSTRAINT_NAME |
sysname |
约束名称。 |
示例
下面的示例为 Production 架构中的每个表或视图返回约束信息。
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';
下面的示例返回数据库中对其定义了 CHECK 约束的每个表或视图。该查询包含与 CHECK_CONSTRAINT 视图的联接,以便返回 CHECK 约束的定义。
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;