REFERENTIAL_CONSTRAINTS 视图

此 Information Schema 视图为指定(或当前)数据库中定义的表中的每一个 FOREIGN KEY 约束显示一行。

FOREIGN KEY 约束用于强制执行参照完整性。有关更多信息,请参阅 约束参照完整性约束

要返回有关其他约束类型(以及 FOREIGN KEY 约束)的信息,请查询 TABLE_CONSTRAINTS 视图

另请参阅:

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;
Copy
+--------------------+-------------------+-----------------------------------------------------+---------------------------+--------------------------+-----------------------------------------------------+--------------+-------------+-------------+---------+-------------------------------+-------------------------------+
| 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;
Copy
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+
| 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      |
+--------------------+-------------------+-----------------------------------------------------+------------+-----------------+----------+
语言: 中文