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';