Ansicht KEY_COLUMN_USAGE
Die Ansicht KEY_COLUMN_USAGE enthält Spalten der Tabellen von TABLE_CONSTRAINTS, die durch Primär- und Fremdschlüsseleinschränkungen als Schlüssel eingeschränkt sind.
Schema
Die Ansicht INFORMATION_SCHEMA.KEY_COLUMN_USAGE hat das folgende Schema:
| Spaltenname | Datentyp | Wert | 
|---|---|---|
  | 
      
  | 
      Der Name des Einschränkungsprojekts. | 
  | 
      
  | 
      Der Name des Einschränkungs-Datasets. | 
  | 
      
  | 
      Der Name der Einschränkung. | 
  | 
      
  | 
      Der Projektname der eingeschränkten Tabelle. | 
  | 
      
  | 
      Der Name des eingeschränkten Tabellen-Datasets. | 
  | 
      
  | 
      Der Name der eingeschränkten Tabelle. | 
  | 
      
  | 
      Der Name der eingeschränkten Spalte. | 
  | 
      
  | 
      Die ordinale Position der Spalte innerhalb des Einschränkungsschlüssels (beginnend mit 1). | 
  | 
      
  | 
      Bei Fremdschlüsseln die ordinale Position der Spalte innerhalb der Primärschlüsseleinschränkung (ab 1). Dieser Wert ist NULL für Primärschlüsseleinschränkungen. | 
    
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_ID.INFORMATION_SCHEMA.KEY_COLUMN_USAGE; | 
      Dataset-Ebene | Dataset-Speicherort | 
- 
  Optional: 
PROJECT_ID: die ID Ihres Google Cloud -Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet. 
Für Abfragen mit einem Dataset-Qualifier benötigen Sie Berechtigungen für das Dataset. Für Abfragen mit einem Regions-Qualifier müssen Sie Berechtigungen für das Projekt haben.
Beispiele
Beispiel 1:
Die folgende Abfrage zeigt die Einschränkungen für eine einzelne Tabelle in einem Dataset:
SELECT * FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE table_name = TABLE;
Ersetzen Sie dabei Folgendes:
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 zeigt die folgende Abfrage die Nutzung der Schlüsselspalten für alle Tabellen in einem einzelnen Dataset.
SELECT * FROM PROJECT_ID.DATASET.INFORMATION_SCHEMA.KEY_COLUMN_USAGE;
Wenn für eine Tabelle oder ein Dataset keine Einschränkungen gelten, sehen die Abfrageergebnisse so aus:
+-----------------------------+ | There is no data to display | +-----------------------------+
Beispiel 2:
Mit den folgenden DDL-Anweisungen werden eine Primärschlüsseltabelle und eine Fremdschlüsseltabelle erstellt.
CREATE TABLE composite_pk (x int64, y string, primary key (x, y) NOT ENFORCED);
CREATE TABLE table composite_fk (x int64, y string, z string, primary key (x, y) NOT ENFORCED, CONSTRAINT composite_fk foreign key (z, x) REFERENCES composite_pk (y, x) NOT ENFORCED);
Bei der Abfrage mit der Anweisung in Beispiel 1 sehen die Abfrageergebnisse in etwa so aus: Beachten Sie, dass die Spalten CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA und doppelte Spalten nicht in den Beispielergebnissen enthalten sind.
+---------------------------+--------------+-------------+------------------+-------------------------------+ | CONSTRAINT_NAME | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | POSITION_IN_UNIQUE_CONSTRAINT | +---------------------------+--------------+-------------+------------------+-------------------------------+ | composite_pk.pk$ | composite_pk | x | 1 | NULL | | composite_pk.pk$ | composite_pk | y | 2 | NULL | | composite_fk.pk$ | composite_fk | x | 1 | NULL | | composite_fk.pk$ | composite_fk | y | 2 | NULL | | composite_fk.composite_fk | composite_fk | z | 1 | 2 | | composite_fk.composite_fk | composite_fk | x | 2 | 1 | +---------------------------+--------------+-------------+------------------+-------------------------------+