Condividi tramite


KEY_COLUMN_USAGE

Si applica a:selezionare sìSQL di Databricks contrassegnato come sì Databricks Runtime 11.3 LTS e versioni successive selezionare sì solo Unity Catalog

Importante

Questa funzionalità è disponibile in anteprima pubblica.

INFORMATION_SCHEMA.KEY_COLUMN_USAGE elenca i columns dei vincoli di chiave primaria o esterna all'interno del catalog.

Le righe restituite sono limitate ai vincoli del tables, a seconda dei privilegi utente.

Definizione

La relazione KEY_COLUMN_USAGE contiene i columnsseguenti:

Nome Tipo di dati Nullable Standard Descrizione
CONSTRAINT_CATALOG STRING No Catalog contenente il constraint.
CONSTRAINT_SCHEMA STRING No Schema contenente il constraint.
CONSTRAINT_NAME STRING No Nome del constraint.
TABLE_CATALOG STRING No Catalog contenente il table.
TABLE_SCHEMA STRING No Schema contenente il table.
TABLE_NAME STRING No Nome del table in cui è definito il constraint.
COLUMN_NAME STRING No Nome del column.
ORDINAL_POSITION INTEGER No Posizione (in base 1) del column nella chiave.
POSITION_IN_UNIQUE_CONSTRAINT INTEGER Per la chiave esterna, posizione (in base 1) del column nella chiave padre unica o primaria constraint, NULL in caso contrario.

Vincoli

Alla relazione KEY_COLUMN_USAGE, vengono applicati i seguenti vincoli:

Classe Nome Column List Descrizione
Chiave primaria KEY_COL_USG_PK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, COLUMN_NAME Identifica in modo univoco la relazione.
Chiave univoca KEY_COL_USG_OP_UK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, ORDINAL_POSITION Identifica in modo univoco la relazione.
Chiave univoca KEY_COL_USG_PIUK_UK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME, POSITION_IN_UNIQUE_CONSTRAINT Identifica in modo univoco la relazione.
Foreign key KEY_COL_USG_COLUMNS_FK TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME Riferimenti COLUMNS.
Foreign key KEY_COL_USG_TAB_CONS_FK CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, CONSTRAINT_NAME Riferimenti TABLE_CONSTRAINTS.

Esempi

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