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)