当前数据库中的每个外约束在该视图中占一行。该信息架构视图返回当前用户对其拥有权限的对象的有关信息。INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 视图以 sysreferences、sysindexes 和 sysobjects 系统表为基础。
若要从这些视图中检索信息,请指定完全合格的 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,表示没有定义匹配。下列情况下,则将条件视为匹配
|
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,那么对主键值所做的任何更改都将自动地传播到外键值。 |