KEY_COLUMN_USAGE

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime 11.1 及更高版本 check marked yes 仅 Unity Catalog

重要

此功能目前以公共预览版提供。

INFORMATION_SCHEMA.KEY_COLUMN_USAGE 会列出目录中主键或外键约束的列。

返回的行仅限于对表的约束,具体取决于用户权限。

定义

KEY_COLUMN_USAGE 关系包含以下列:

名称 数据类型 Nullable 标准 描述
CONSTRAINT_CATALOG STRING 包含约束的目录。
CONSTRAINT_SCHEMA STRING 包含约束的架构。
CONSTRAINT_NAME STRING 约束的名称。
TABLE_CATALOG STRING 包含表的目录。
TABLE_SCHEMA STRING 包含表的架构。
TABLE_NAME STRING 在其中定义约束的表的名称。
COLUMN_NAME STRING 列的名称。
ORDINAL_POSITION INTEGER 键中列的位置(从 1 开始)。
POSITION_IN_UNIQUE_CONSTRAINT INTEGER 对于外键,为父唯一键约束或主键约束中列的位置(从 1 开始),否则为 NULL

约束

以下约束适用于 KEY_COLUMN_USAGE 关系:

名称 列列表 描述
主密钥 KEY_COL_USG_PK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, COLUMN_NAME 唯一标识关系。
唯一键 KEY_COL_USG_OP_UK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, ORDINAL_POSITION 唯一标识关系。
唯一键 KEY_COL_USG_PIUK_UK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, POSITION_IN_UNIQUE_CONSTRAINT 唯一标识关系。
外键 KEY_COL_USG_COLUMNS_FK TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME 引用 COLUMNS
外键 KEY_COL_USG_TAB_CONS_FK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME 引用 TABLE_CONSTRAINTS

示例

> SELECT constraint_name, column_name
    FROM information_schema.key_column_usage
    WHERE table_schema = 'information_schema'
      AND table_name = 'tables';