Ansicht CONSTRAINT_COLUMN_USAGE

Die Ansicht CONSTRAINT_COLUMN_USAGE enthält alle Spalten, die von Einschränkungen verwendet werden. Für PRIMARY KEY-Einschränkungen sind dies die Spalten aus der Ansicht KEY_COLUMN_USAGE. Für FOREIGN KEY-Einschränkungen sind dies die Spalten der referenzierten Tabellen.

Schema

Die Ansicht INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE hat das folgende Schema:

Spaltenname Datentyp Wert

TABLE_CATALOG

STRING

Der Name des Projekts, zu dem das Dataset gehört.

TABLE_SCHEMA

STRING

Der Name des Datasets, das die Tabelle enthält (auch als datasetId bezeichnet)

TABLE_NAME

STRING

Der Name der Tabelle, auch als tableId bezeichnet.

COLUMN_NAME

STRING

Der Name der Spalte,

CONSTRAINT_CATALOG

STRING

Der Name des Einschränkungsprojekts.

CONSTRAINT_SCHEMA

STRING

Der Name des Einschränkungs-Datasets.

CONSTRAINT_NAME

STRING

Der Name der Einschränkung. Es kann der Name des Primärschlüssels sein, wenn die Spalte vom Primärschlüssel verwendet wird, oder der Name des Fremdschlüssels, wenn die Spalte von einem Fremdschlüssel verwendet wird.

Bereich und Syntax

Für Abfragen dieser Ansicht muss ein Dataset-Qualifizierer verwendet werden. Für Abfragen mit einem Dataset-Qualifier benötigen Sie Berechtigungen für das Dataset. Weitere Informationen finden Sie unter Syntax. In der folgenden Tabelle werden die Regions- und Ressourcenbereiche für diese Ansicht gezeigt:

Ansichtsname Ressourcenbereich Regionsbereich
[PROJECT_ID.]DATASET.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE; Dataset-Ebene Dataset-Standort
Dabei gilt:

  • Optional: PROJECT_ID: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.

Beispiele

Die folgende Abfrage zeigt die Einschränkungen für eine einzelne Tabelle in einem Dataset:

SELECT *
FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
WHERE table_name = TABLE;

Dabei gilt:

  • PROJECT_ID: Optional. Der Name Ihres Cloud-Projekts. Wenn nicht angegeben, verwendet dieser Befehl das Standardprojekt.
  • DATASET: der Name Ihres Datasets
  • TABLE: der Name der Tabelle

Umgekehrt werden in der folgenden Abfrage die Einschränkungen für alle Tabellen in einem einzelnen Dataset angezeigt.

SELECT *
FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE;

Bei vorhandenen Einschränkungen sehen die Abfrageergebnisse etwa so aus:

+-----+---------------------+--------------+------------+-------------+---------------------+-------------------+-------------------------+
| row |    table_catalog    | table_schema | table_name | column_name | constraint_catalog  | constraint_schema |     constraint_name     |
+-----+---------------------+--------------+------------+-------------+---------------------+-------------------+-------------------------+
|   1 | myConstraintCatalog | myDataset    | orders     | o_okey      | myConstraintCatalog | myDataset         | orders.pk$              |
|   2 | myConstraintCatalog | myDataset    | orders     | o_okey      | myConstraintCatalog | myDataset         | lineitem.lineitem_order |
+-----+---------------------+--------------+------------+-------------+---------------------+-------------------+-------------------------+

Wenn für die Tabelle oder das Dataset keine Einschränkungen gelten, sehen die Abfrageergebnisse so aus:

+-----------------------------+
| There is no data to display |
+-----------------------------+