VIEWS visualizzazione
La vista INFORMATION_SCHEMA.VIEWS
contiene metadati relativi alle viste.
Autorizzazioni obbligatorie
Per ottenere i metadati delle viste, è necessario quanto segue Identity and Access Management (IAM) autorizzazioni:
bigquery.tables.get
bigquery.tables.list
Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazioni necessarie per ottenere i metadati delle viste:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulla vista INFORMATION_SCHEMA.VIEWS
, i risultati della query contengono
una riga per ogni vista in un set di dati.
La vista INFORMATION_SCHEMA.VIEWS
ha il seguente schema:
Nome colonna | Tipo di dati | Valore |
---|---|---|
TABLE_CATALOG |
STRING |
Il nome del progetto che contiene il set di dati |
TABLE_SCHEMA |
STRING |
Il nome del set di dati che contiene la vista, chiamata anche
set di dati id |
TABLE_NAME |
STRING |
Il nome della vista indicato anche come tabella id |
VIEW_DEFINITION |
STRING |
La query SQL che definisce la vista |
CHECK_OPTION |
STRING |
Il valore restituito è sempre NULL |
USE_STANDARD_SQL |
STRING |
YES se la visualizzazione è stata creata utilizzando un oggetto
query GoogleSQL; NO se useLegacySql
è impostato su true |
Ambito e sintassi
Le query su questa vista devono includere un set di dati o un qualificatore di regione. Per con un qualificatore del set di dati, devi disporre delle autorizzazioni per il set di dati. Per le query con un qualificatore della regione, devi disporre delle autorizzazioni per il progetto. Per ulteriori informazioni per le informazioni, consulta Sintassi. La tabella seguente illustra gli ambiti delle risorse e delle regioni per questa vista:
Nome vista | Ambito risorsa | Ambito della regione |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.VIEWS |
Livello di progetto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VIEWS |
Livello del set di dati | Posizione del set di dati |
- (Facoltativo)
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Se non specificato, viene utilizzato il progetto predefinito. REGION
: qualsiasi nome della regione del set di dati. Ad esempio:region-us
.DATASET_ID
: l'ID del set di dati. Per ulteriori informazioni consulta la sezione Qualificatore del set di dati.
Ad esempio:
-- 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;
Esempi
Esempio 1:
L'esempio seguente recupera tutte le colonne dal INFORMATION_SCHEMA.VIEWS
visualizzazione tranne check_option
che è riservata per uso futuro. I metadati
restituito per tutte le visualizzazioni in mydataset
nel progetto predefinito:
myproject
.
Per eseguire la query su un progetto diverso da quello predefinito, aggiungi
al set di dati nel seguente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
ad esempio `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
SELECT * EXCEPT (check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS;
Il risultato è simile al seguente:
+----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | table_catalog | table_schema | table_name | view_definition | use_standard_sql | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | myproject | mydataset | myview | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
Tieni presente che i risultati mostrano che questa vista è stata creata utilizzando un linguaggio SQL precedente query.
Esempio 2:
L'esempio seguente recupera la query SQL e la sintassi delle query utilizzate per definire
myview
in mydataset
nel tuo progetto predefinito: myproject
.
Per eseguire la query su un progetto diverso da quello predefinito, aggiungi
al set di dati nel seguente formato:
`project_id`.dataset.INFORMATION_SCHEMA.view
;
ad esempio `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
SELECT table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name = 'myview';
Il risultato è simile al seguente:
+---------------+---------------------------------------------------------------+------------------+
| table_name | view_definition | use_standard_sql |
+---------------+---------------------------------------------------------------+------------------+
| myview | SELECT column1, column2, column3 FROM mydataset.mytable
| YES |
+---------------+---------------------------------------------------------------+------------------+
Tieni presente che i risultati mostrano che questa vista è stata creata utilizzando un'immagine una query GoogleSQL.