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 |
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.