VISUALIZZAZIONI

La vista INFORMATION_SCHEMA.VIEWS contiene metadati sulle visualizzazioni.

Autorizzazioni obbligatorie

Per ottenere i metadati di visualizzazione, devi disporre delle seguenti autorizzazioni di Identity and Access Management (IAM):

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

Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per ottenere i metadati di visualizzazione:

  • 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, nota anche come set di dati id
TABLE_NAME STRING Il nome della vista, detta anche 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 vista è stata creata utilizzando una query GoogleSQL; NO se useLegacySql è impostato su true

Ambito e sintassi

Le query in questa visualizzazione devono includere un set di dati o un qualificatore di regione. Per le query con un qualificatore del set di dati, devi disporre delle autorizzazioni per il set di dati. Per le query con un qualificatore di regione, devi disporre delle autorizzazioni per il progetto. Per ulteriori informazioni, consulta la sezione Sintassi. La tabella seguente illustra gli ambiti delle regioni e delle risorse per questa visualizzazione:

Nome visualizzazione Ambito risorsa Ambito regione
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.VIEWS A livello di progetto REGION
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VIEWS Livello set di dati Posizione del set di dati
Sostituisci quanto segue:

  • (Facoltativo) PROJECT_ID: l'ID del 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 Qualificatore 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 dalla vista INFORMATION_SCHEMA.VIEWS ad eccezione di check_option, che è riservata per un uso futuro. I metadati restituiti riguardano tutte le visualizzazioni in mydataset nel progetto predefinito - myproject.

Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto 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 visualizzazione è stata creata utilizzando una query SQL precedente.

Esempio 2:

L'esempio seguente recupera la sintassi delle query e delle query SQL utilizzata per definire myview in mydataset nel tuo progetto predefinito - myproject.

Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto 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 visualizzazione è stata creata utilizzando una query GoogleSQL.