Visualização VIEWS
A visualização INFORMATION_SCHEMA.VIEWS
contém metadados sobre visualizações.
Permissões necessárias
Para acessar os metadados da visualização, você precisa das seguintes permissões do Identity and Access Management (IAM):
bigquery.tables.get
bigquery.tables.list
Cada um dos seguintes papéis de IAM predefinidos inclui as permissões necessárias para receber metadados de visualizações:
roles/bigquery.admin
roles/bigquery.dataEditor
roles/bigquery.metadataViewer
roles/bigquery.dataViewer
Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.
Esquema
Quando você consulta a visualização INFORMATION_SCHEMA.VIEWS
, os resultados da consulta contêm uma linha para cada visualização em um conjunto de dados.
A visualização INFORMATION_SCHEMA.VIEWS
tem o seguinte esquema:
Nome da coluna | Tipo de dados | Valor |
---|---|---|
TABLE_CATALOG |
STRING |
Nome do projeto que contém o conjunto de dados |
TABLE_SCHEMA |
STRING |
O nome do conjunto de dados que contém a visualização da propriedade também conhecido como o conjunto de dados id |
TABLE_NAME |
STRING |
O nome da visualização da propriedade também conhecido como tabela id |
VIEW_DEFINITION |
STRING |
Consulta SQL que define a visualização |
CHECK_OPTION |
STRING |
O valor retornado é sempre NULL |
USE_STANDARD_SQL |
STRING |
YES se a visualização foi criada usando uma
consulta GoogleSQL; NO se useLegacySql
estiver definido como true |
Escopo e sintaxe
As consultas nessa visualização precisam incluir um conjunto de dados ou um qualificador de região. Para consultas com um qualificador de conjunto de dados, é preciso ter permissões para o conjunto de dados. Para consultas com um qualificador de região, é preciso ter permissões para o projeto. Para mais informações, consulte Sintaxe. A tabela a seguir explica os escopos de região e recurso dessa visualização:
Nome da visualização | Escopo do recurso | Escopo da região |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.VIEWS |
Nível do projeto | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VIEWS |
Nível do conjunto de dados | Local do conjunto de dados |
Opcional: PROJECT_ID
: o ID do seu
projeto do Google Cloud. Se não for especificado, o projeto padrão será usado.
REGION
: qualquer nome da região do conjunto de dados. Por exemplo,`region-us`
.DATASET_ID
: ID do conjunto de dados. Para mais informações, consulte Qualificador de conjunto de dados.
Exemplo:
-- 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;
Exemplos
Exemplo 1:
O exemplo a seguir recupera todas as colunas da visualização INFORMATION_SCHEMA.VIEWS
, exceto check_option
, que é reservada para uso futuro. Os metadados retornados são para todas as visualizações em mydataset
em seu projeto padrão – myproject
.
Para executar a consulta em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.view
; por exemplo, `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
SELECT * EXCEPT (check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS;
O resultado será semelhante ao seguinte:
+----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | table_catalog | table_schema | table_name | view_definition | use_standard_sql | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | myproject | mydataset | myview | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
Observando os resultados, vemos que essa visualização foi criada com uma consulta SQL legada.
Exemplo 2:
O exemplo a seguir recupera a consulta SQL e a sintaxe de consulta usadas para definir myview
em mydataset
em seu projeto padrão – myproject
.
Para executar a consulta em um projeto diferente do padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: `project_id`.dataset.INFORMATION_SCHEMA.view
; por exemplo, `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS
.
SELECT table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name = 'myview';
O resultado será semelhante ao seguinte:
+---------------+---------------------------------------------------------------+------------------+
| table_name | view_definition | use_standard_sql |
+---------------+---------------------------------------------------------------+------------------+
| myview | SELECT column1, column2, column3 FROM mydataset.mytable
| YES |
+---------------+---------------------------------------------------------------+------------------+
Os resultados mostram que essa visualização foi criada com uma consulta GoogleSQL.