共用方式為


REFERENTIAL_CONSTRAINTS (Transact-SQL)

適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體

針對目前資料庫中的每個FOREIGNKEY條件約束,各傳回一個數據列。 這項資訊架構檢視會傳回目前使用者具有許可權之對象的相關信息。

若要從這些檢視擷取資訊,請指定INFORMATION_SCHEMA的完整名稱view_name。

資料行名稱 資料類型 描述
CONSTRAINT_CATALOG nvarchar(128 條件約束限定符。
CONSTRAINT_SCHEMA nvarchar(128 包含條件約束的架構名稱。

重要: 請勿使用INFORMATION_SCHEMA檢視來判斷對象的架構。 INFORMATION_SCHEMA檢視只代表 物件的元數據子集。 尋找物件架構的唯一可靠方法是查詢 sys.objects 目錄檢視。
CONSTRAINT_NAME sysname 條件約束名稱。
UNIQUE_CONSTRAINT_CATALOG nvarchar(128 UNIQUE條件約束限定符。
UNIQUE_CONSTRAINT_SCHEMA nvarchar(128 包含 UNIQUE 條件約束的架構名稱。

重要: 請勿使用INFORMATION_SCHEMA檢視來判斷對象的架構。 INFORMATION_SCHEMA檢視只代表 物件的元數據子集。 尋找物件架構的唯一可靠方法是查詢 sys.objects 目錄檢視。
UNIQUE_CONSTRAINT_NAME sysname UNIQUE 條件約束。
MATCH_OPTION varchar(7 參考條件約束比對條件。 一律會傳回 SIMPLE。 這表示未定義相符專案。 當下列其中一項成立時,條件會被視為相符專案:

外鍵數據行中至少有一個值為 NULL。

外鍵數據行中的所有值都不是NULL,而且主鍵數據表中有一個具有相同索引鍵的數據列。
UPDATE_RULE varchar(11 Transact-SQL 語句違反這個條件約束所定義的引用完整性時所採取的動作。 傳回下列其中一項:
NO ACTION
CASCADE
SET NULL
SET DEFAULT

如果此條件約束的 ON UPDATE 上指定 NO ACTION,則不會將條件約束中所參考的主鍵更新傳播到外鍵。 如果主鍵的這類更新會導致引用完整性違規,因為至少有一個外鍵包含相同的值,SQL Server 將不會對父數據表和參照數據表進行任何變更。 SQL Server 也會引發錯誤。

如果此條件約束的 ON UPDATE 上指定 CASCADE,則主鍵值的任何變更都會自動傳播至外鍵值。
DELETE_RULE varchar(11 Transact-SQL 語句違反這個條件約束所定義的引用完整性時所採取的動作。 傳回下列其中一項:
NO ACTION
CASCADE
SET NULL
SET DEFAULT

如果此條件約束的 ON DELETE 上指定 NO ACTION,則不會將條件約束中所參考之主鍵上的刪除傳播到外鍵。 如果這類刪除主鍵會導致引用完整性違規,因為至少有一個外鍵包含相同的值,SQL Server 將不會對父數據表和參照數據表進行任何變更。 SQL Server 也會引發錯誤。

如果此條件約束上的 ON DELETE 上指定 CASCADE,則主鍵值的任何變更都會自動傳播至外鍵值。

另請參閱

系統檢視 (Transact-SQL)
資訊架構檢視 (Transact-SQL)
sys.indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.foreign_keys (Transact-SQL)