Transact-SQL 参考

REFERENTIAL_CONSTRAINTS

当前数据库中的每个外约束在该视图中占一行。该信息架构视图返回当前用户对其拥有权限的对象的有关信息。INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 视图以 sysreferencessysindexessysobjects 系统表为基础。

若要从这些视图中检索信息,请指定完全合格的 INFORMATION_SCHEMA view_name 名称。

列名 数据类型 描述
CONSTRAINT_CATALOG nvarchar(128) 约束限定符。
CONSTRAINT_SCHEMA nvarchar(128) 约束所有者。
CONSTRAINT_NAME sysname 约束名称。
UNIQUE_CONSTRAINT_CATALOG nvarchar(128) 唯一的约束限定符。
UNIQUE_CONSTRAINT_SCHEMA nvarchar(128) 唯一的约束所有者。
UNIQUE_CONSTRAINT_NAME sysname 唯一的约束。
MATCH_OPTION varchar(7) 引用约束匹配条件。始终返回 NONE,表示没有定义匹配。下列情况下,则将条件视为匹配
  • 外键列中至少有一个值为 NULL;

  • 外键列中的所有值都不为 NULL 且主键表中有一行含有完全相同的键。
UPDATE_RULE varchar(9) 当 Transact-SQL 语句违反了该约束定义的引用完整性时将采取的操作。

返回 NO ACTION 或 CASCADE。如果对于该约束,在 ON UPDATE 上指定了 NO ACTION,那么对该约束中引用的主键的更新不会传播到外键。如果因为至少有一个外键包含相同的值,而导致主键的这种更新违反引用完整性,那么 SQL Server 将不会对父表和涉及的表执行任何更改。SQL Server 还将产生一个错误。

如果对于该约束,在 ON UPDATE 上指定了 CASCADE,那么对主键值所做的任何更改都将自动地传播到外键值。

DELETE_RULE varchar(9) 当 Transact-SQL 语句违反了该约束定义的引用完整性时将采取的操作。

返回 NO ACTION 或 CASCADE。如果对于该约束,在 ON DELETE 上定义了 NO ACTION,那么对该约束中引用的主键所做的删除将不会传播到外键。如果因为至少有一个外键包含相同的值,而导致主键的这种删除违反引用完整性,那么 SQL Server 将不会对父表和涉及的表执行任何更改。SQL Server 还将产生一个错误。

如果对于该约束,在 ON DELETE 上指定了 CASCADE,那么对主键值所做的任何更改都将自动地传播到外键值。


请参见

sysindexes

sysobjects

sysreferences