Sdílet prostřednictvím


KEY_COLUMN_USAGE

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 11.3 LTS a vyšší zaškrtnutí označeného ano pouze katalog Unity

Důležité

Tato funkce je ve verzi Public Preview.

INFORMATION_SCHEMA. KEY_COLUMN_USAGE zobrazí sloupce omezení primárního nebo cizího klíče v katalogu.

Vrácené řádky jsou omezené na omezení tabulek v závislosti na uživatelských oprávněních.

Definice

Relace KEY_COLUMN_USAGE obsahuje následující sloupce:

Name Datový typ Vynulovatelné Standard Popis
CONSTRAINT_CATALOG STRING No Ano Katalog obsahující omezení
CONSTRAINT_SCHEMA STRING No Ano Schéma obsahující omezení
CONSTRAINT_NAME STRING No Ano Název omezení.
TABLE_CATALOG STRING No Ano Katalog obsahující tabulku.
TABLE_SCHEMA STRING No Ano Schéma obsahující tabulku
TABLE_NAME STRING No Ano Název tabulky, ve které je definováno omezení
COLUMN_NAME STRING No Ano Název sloupce
ORDINAL_POSITION INTEGER No Ano Pozice (1) sloupce v klíči
POSITION_IN_UNIQUE_CONSTRAINT INTEGER Ano Yes V případě cizího klíče pozice (1) sloupce v omezení nadřazeného jedinečného nebo primárního klíče, NULL jinak.

Omezení

Pro vztah platí KEY_COLUMN_USAGE následující omezení:

Třída Název Seznam sloupců Popis
Primární klíč KEY_COL_USG_PK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, COLUMN_NAME Jednoznačně identifikuje vztah.
Jedinečný klíč KEY_COL_USG_OP_UK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, ORDINAL_POSITION Jednoznačně identifikuje vztah.
Jedinečný klíč KEY_COL_USG_PIUK_UK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, POSITION_IN_UNIQUE_CONSTRAINT Jednoznačně identifikuje vztah.
Cizí klíč KEY_COL_USG_COLUMNS_FK TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME Odkazuje na SLOUPCE.
Cizí klíč KEY_COL_USG_TAB_CONS_FK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME Odkazy TABLE_CONSTRAINTS.

Příklady

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