Поделиться через


KEY_COLUMN_USAGE

Область применения:флажок Databricks SQL флажок Databricks Runtime 11.3 LTS и более поздней флажок версии каталога Unity

Внимание

Эта функция предоставляется в режиме общедоступной предварительной версии.

INFORMATION_SCHEMA. KEY_COLUMN_USAGE перечисляет столбцы ограничений первичного или внешнего ключа в каталоге.

На возвращаемые строки накладываются ограничения таблиц в зависимости от привилегий пользователя.

Определение

Отношение KEY_COLUMN_USAGE содержит следующие столбцы:

Имя. Тип данных Допускает значение NULL Стандартные Description
CONSTRAINT_CATALOG STRING No Да Каталог, содержащий ограничение.
CONSTRAINT_SCHEMA STRING No Да Схема, содержащая ограничение.
CONSTRAINT_NAME STRING No Да Имя ограничения.
TABLE_CATALOG STRING No Да Каталог, содержащий таблицу.
TABLE_SCHEMA STRING No Да Схема, содержащая таблицу.
TABLE_NAME STRING No Да Имя таблицы, в которой определено ограничение.
COLUMN_NAME STRING No Да Имя столбца.
ORDINAL_POSITION INTEGER No Да Позиция (на основе 1) столбца в ключе.
POSITION_IN_UNIQUE_CONSTRAINT INTEGER Да Да Для внешнего ключа позиция (на основе 1) столбца в родительском ограничении уникального или первичного ключа, в противном случае NULL.

Ограничения

К отношению KEY_COLUMN_USAGE применяются следующие ограничения:

Класс Имя. Список столбцов Description
Первичный ключ 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';