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 |
---|---|---|
|
|
Der Name des Projekts, zu dem das Dataset gehört. |
|
|
Der Name des Datasets, das die Tabelle enthält (auch als datasetId bezeichnet) |
|
|
Der Name der Tabelle, auch als tableId bezeichnet. |
|
|
Der Name der Spalte, |
|
|
Der Name des Einschränkungsprojekts. |
|
|
Der Name des Einschränkungs-Datasets. |
|
|
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 |
- 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 DatasetsTABLE
: 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 | +-----------------------------+