REFERENTIAL_CONSTRAINTS 视图¶
此 Information Schema 视图为指定(或当前)数据库中定义的表中的每一个 FOREIGN KEY 约束显示一行。
FOREIGN KEY 约束用于强制执行参照完整性。有关更多信息,请参阅 约束 和 参照完整性约束。
要返回有关其他约束类型(以及 FOREIGN KEY 约束)的信息,请查询 TABLE_CONSTRAINTS 视图。
- 另请参阅:
列¶
列名称 |
数据类型 |
描述 |
---|---|---|
CONSTRAINT_CATALOG |
TEXT |
约束所属的数据库 |
CONSTRAINT_SCHEMA |
TEXT |
约束所属的架构 |
CONSTRAINT_NAME |
TEXT |
约束的名称 |
UNIQUE_CONSTRAINT_CATALOG |
TEXT |
当前约束引用的唯一约束的数据库 |
UNIQUE_CONSTRAINT_SCHEMA |
TEXT |
当前约束引用的唯一约束的架构 |
UNIQUE_CONSTRAINT_NAME |
TEXT |
当前约束引用的唯一约束的名称 |
MATCH_OPTION |
TEXT |
约束的匹配选项 |
UPDATE_RULE |
TEXT |
当前约束的更新规则 |
DELETE_RULE |
TEXT |
删除当前约束的规则 |
COMMENT |
TEXT |
对此约束的注释 |
CREATED |
TIMESTAMP_LTZ |
约束的创建时间 |
LAST_ALTERED |
TIMESTAMP_LTZ |
对象上次经 DML、DDL 或后台元数据操作修改的日期和时间。请参阅 使用说明。 |
使用说明¶
该视图仅显示会话的当前角色已被授予访问权限的对象。
对对象执行以下操作时,将更新 LAST_ALTERED 列:
DDL 操作。
DML 操作(仅适用于表)。即使 DML 语句不影响任何行,也会更新此列。
由 Snowflake 对元数据执行的后台维护操作。
示例¶
返回当前数据库中所有 FOREIGN KEY 约束的信息。
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
+--------------------+-------------------+-----------------------------------------------------+---------------------------+--------------------------+-----------------------------------------------------+--------------+-------------+-------------+---------+-------------------------------+-------------------------------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME | UNIQUE_CONSTRAINT_CATALOG | UNIQUE_CONSTRAINT_SCHEMA | UNIQUE_CONSTRAINT_NAME | MATCH_OPTION | UPDATE_RULE | DELETE_RULE | COMMENT | CREATED | LAST_ALTERED |
|--------------------+-------------------+-----------------------------------------------------+---------------------------+--------------------------+-----------------------------------------------------+--------------+-------------+-------------+---------+-------------------------------+-------------------------------|
| HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_51118aaf-1ee6-4548-bc9a-f87e65d92528 | HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_aad16788-491a-4e68-b0e3-30d48a33a1c1 | FULL | NO ACTION | NO ACTION | NULL | 2024-09-19 13:51:37.355 -0700 | 2024-09-19 13:51:37.608 -0700 |
| HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_c97bfe9b-6098-4b8a-b796-e341071db72a | HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_0bd41d0f-11f7-4366-82a3-f03f31fcce7e | FULL | NO ACTION | NO ACTION | NULL | 2024-05-28 18:21:43.899 -0700 | 2024-05-28 18:21:44.268 -0700 |
+--------------------+-------------------+-----------------------------------------------------+---------------------------+--------------------------+-----------------------------------------------------+--------------+-------------+-------------+---------+-------------------------------+-------------------------------+
将此视图联接至 TABLE_CONSTRAINTS 视图 以获取具有 FOREIGN KEY 约束的引用表名称:
SELECT tc.constraint_catalog, tc.constraint_schema, tc.constraint_name, tc.table_name, tc.constraint_type, tc.enforced
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc ON tc.constraint_name=rc.constraint_name;
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME | TABLE_NAME | CONSTRAINT_TYPE | ENFORCED |
|--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------|
| HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_51118aaf-1ee6-4548-bc9a-f87e65d92528 | HTFK | FOREIGN KEY | YES |
| HTABLES_DB | HTABLES_SCHEMA | SYS_CONSTRAINT_c97bfe9b-6098-4b8a-b796-e341071db72a | HT619 | FOREIGN KEY | YES |
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+