Compartilhar via


Criar visão temporária (pipelines)

Use a instrução CREATE TEMPORARY VIEW para criar exibições temporárias em um pipeline.

Observação

CREATE LIVE VIEW e CREATE TEMPORARY LIVE VIEW são sintaxes mais antigas para o mesmo comando. CREATE TEMPORARY VIEW é a sintaxe preferencial.

A única exceção é CREATE LIVE VIEW suporta expectativas em forma de cláusulas CONSTRAINT. Se você precisar incluir expectativas, use a CREATE LIVE VIEW sintaxe.

Sintaxe

O seguinte descreve a sintaxe para declarar exibições com SQL:

CREATE TEMPORARY VIEW view_name
  [(
    [ col_name [ COMMENT col_comment ] [, ...] ]
  )]
  [ COMMENT view_comment ]
  [ TBLPROPERTIES ]
  AS query

Parâmetros

  • view_name

    O nome da exibição.

  • col_name

    Opcionalmente, você pode especificar colunas para a exibição resultante. col_name é um nome para a coluna.

  • col_comment

    Ao especificar colunas, você pode, opcionalmente, especificar uma descrição para a coluna.

  • view_comment

    Uma descrição opcional para a visualização.

  • TBLPROPERTIES

    Uma lista opcional de propriedades da tabela para a tabela.

  • query

    Essa cláusula preenche a tabela usando os dados de uma consulta. Quando você especifica uma consulta e uma lista de colunas juntas, a lista de colunas deve conter todas as colunas retornadas pela consulta ou você receberá um erro. Quaisquer colunas especificadas, mas não retornadas por query, quando consultadas, retornam valores null.

Limitações

  • As visões temporárias persistem apenas durante o ciclo de vida do pipeline.
  • Eles são privados para o pipeline definidor.
  • Eles não são adicionados ao catálogo e podem ter o mesmo nome que uma exibição no catálogo. No pipeline, se uma exibição temporária e uma exibição ou tabela no catálogo tiverem o mesmo nome, as referências ao nome serão resolvidas para o modo de exibição temporário.

Exemplos

-- Create a temporary view, and use it
CREATE TEMPORARY VIEW my_view (sales_day, total_sales, sales_rep)
  AS SELECT date(sales_date) AS sale_day, SUM(sales) AS total_sales, FIRST(sales_rep) FROM sales GROUP BY date(sales_date), sales_rep;

CREATE OR REFRESH MATERIALIZED VIEW sales_by_date
  AS SELECT * FROM my_view;