共用方式為


REFERENTIAL_CONSTRAINTS (Transact-SQL)

針對目前資料庫中的每個 FOREIGN KEY 條件約束,各傳回一個資料列。這個資訊結構描述檢視會傳回目前使用者有權限的物件之相關資訊。

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

ms179987.note(zh-tw,SQL.90).gif重要事項:
這項功能已變更,與舊版 SQL Server 不同。如需詳細資訊,請參閱<SQL Server 2005 中對於 Database Engine 功能的行為變更>。
資料行名稱 資料類型 描述

CONSTRAINT_CATALOG

nvarchar(128)

條件約束限定詞。

CONSTRAINT_SCHEMA

nvarchar(128)

包含條件約束之結構描述的名稱。

CONSTRAINT_NAME

sysname

條件約束名稱。

UNIQUE_CONSTRAINT_CATALOG

nvarchar(128)

UNIQUE 條件約束限定詞。

UNIQUE_CONSTRAINT_SCHEMA

nvarchar(128)

包含 UNIQUE 條件約束的結構描述名稱。

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)

其他資源

查詢 SQL Server 系統目錄

說明及資訊

取得 SQL Server 2005 協助