Ansicht VIEWS

Die Ansicht INFORMATION_SCHEMA.VIEWS enthält Metadaten zu Ansichten.

Erforderliche Berechtigungen

Zum Abrufen von Ansichtsmetadaten benötigen Sie folgende IAM-Berechtigungen (Identity and Access Management):

  • bigquery.tables.get
  • bigquery.tables.list

Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Abrufen von Ansichts-Metadaten benötigen:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.metadataViewer
  • roles/bigquery.dataViewer

Weitere Informationen zu BigQuery-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.

Schema

Wenn Sie die Ansicht INFORMATION_SCHEMA.VIEWS abfragen, wird im Ergebnis jede Ansicht in einem Dataset in einer eigenen Zeile dargestellt.

Die Ansicht INFORMATION_SCHEMA.VIEWS 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 Ansicht enthält (auch als Dataset-id bezeichnet)
TABLE_NAME STRING Der Name der Ansicht (auch als Tabellen-id bezeichnet)
VIEW_DEFINITION STRING Die SQL-Abfrage, die die Ansicht definiert
CHECK_OPTION STRING Der zurückgegebene Wert ist immer NULL
USE_STANDARD_SQL STRING YES, wenn die Ansicht mithilfe einer GoogleSQL-Abfrage erstellt wurde; NO, wenn useLegacySql auf true gesetzt ist

Bereich und Syntax

Für Abfragen dieser Ansicht muss ein Dataset- oder Regions-Qualifier verwendet werden. 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. Weitere Informationen finden Sie unter Syntax. In der folgenden Tabelle werden die Regions- und Ressourcenbereiche für diese Ansicht erläutert:

Ansichtsname Ressourcenbereich Regionsbereich
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.VIEWS auf Projektebene REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VIEWS Dataset-Ebene Dataset-Standort
Dabei gilt:

  • Optional: PROJECT_ID: die ID Ihres Google Cloud-Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.
  • REGION: ist ein beliebiger Dataset-Regionsname. Beispiel: region-us
  • DATASET_ID: die ID Ihres Datasets. Weitere Informationen finden Sie unter Dataset-Qualifier.

Beispiel:

-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VIEWS;

-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.VIEWS;

Beispiele

Beispiel 1:

Im folgenden Beispiel werden alle Spalten der Ansicht INFORMATION_SCHEMA.VIEWS mit Ausnahme von check_option abgerufen. Diese Spalte ist für die zukünftige Verwendung reserviert. Die zurückgegebenen Metadaten gelten für alle Ansichten in mydataset in Ihrem Standardprojekt myproject.

Dem Dataset fügen Sie die Projekt-ID im folgenden Format hinzu, um die Abfrage für ein anderes Projekt als Ihr Standardprojekt auszuführen: `project_id`.dataset.INFORMATION_SCHEMA.view; beispielsweise `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS.

SELECT
  * EXCEPT (check_option)
FROM
  mydataset.INFORMATION_SCHEMA.VIEWS;

Das Ergebnis sieht etwa so aus:

  +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
  | table_catalog  | table_schema  |  table_name   |                        view_definition                              | use_standard_sql |
  +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
  | myproject      | mydataset     | myview        | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO               |
  +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
  

Dem Ergebnis können Sie entnehmen, dass diese Ansicht mithilfe einer Legacy-SQL-Abfrage erstellt wurde.

Beispiel 2:

Im folgenden Beispiel werden die SQL-Abfrage und Abfragesyntax für die Definition von myview in mydataset in Ihrem Standardprojekt myproject abgerufen.

Dem Dataset fügen Sie die Projekt-ID im folgenden Format hinzu, um die Abfrage für ein anderes Projekt als Ihr Standardprojekt auszuführen: `project_id`.dataset.INFORMATION_SCHEMA.view; beispielsweise `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS.

SELECT
  table_name, view_definition, use_standard_sql
FROM
  mydataset.INFORMATION_SCHEMA.VIEWS
WHERE
  table_name = 'myview';

Das Ergebnis sieht etwa so aus:

  +---------------+---------------------------------------------------------------+------------------+
  |  table_name   |                        view_definition                        | use_standard_sql |
  +---------------+---------------------------------------------------------------+------------------+
  | myview        | SELECT column1, column2, column3 FROM mydataset.mytable       | YES              |
  +---------------+---------------------------------------------------------------+------------------+
  

Dem Ergebnis können Sie entnehmen, dass diese Ansicht mithilfe einer GoogleSQL-Abfrage erstellt wurde.