Ansicht VIEWS
Die Ansicht INFORMATION_SCHEMA.VIEWS enthält Metadaten zu Ansichten.
Erforderliche Berechtigungen
Zum Abrufen von Ansichtsmetadaten benötigen Sie die folgenden IAM-Berechtigungen (Identity and Access Management):
bigquery.tables.getbigquery.tables.list
Jede der folgenden vordefinierten IAM-Rollen enthält die Berechtigungen, die Sie zum Abrufen von Ansichts-Metadaten benötigen:
roles/bigquery.adminroles/bigquery.dataEditorroles/bigquery.metadataViewerroles/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-Speicherort |
-
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.