Share via


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;