KEY_COLUMN_USAGE
Platí pro: Databricks SQL Databricks Runtime 11.3 LTS a vyšší 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';