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
Substitua:

  • Opcional: PROJECT_ID: o ID do seu projeto do Google Cloud. Se não for especificado, o projeto padrão será usado.

    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.