Compartir a través de


CREAR VISTA TEMPORAL (Canalizaciones declarativas de Lakeflow)

Utilice la CREATE TEMPORARY VIEW instrucción para crear vistas temporales en las canalizaciones declarativas de Lakeflow.

Nota:

CREATE LIVE VIEW y CREATE TEMPORARY LIVE VIEW son una sintaxis anterior para el mismo comando. CREATE TEMPORARY VIEW es la sintaxis preferida.

La única excepción es que CREATE LIVE VIEW apoya las expectativas en forma de cláusulas CONSTRAINT. Si necesita incluir expectativas, use la CREATE LIVE VIEW sintaxis .

Sintaxis

A continuación se describe la sintaxis para declarar vistas con SQL:

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

Parámetros

  • view_name

    Nombre de la vista.

  • col_name

    Opcionalmente, puede especificar columnas para la vista resultante. col_name es un nombre para la columna.

  • comentario_columna

    Al especificar columnas, puede especificar opcionalmente una descripción para la columna.

  • view_comment

    Descripción opcional de la vista.

  • TBLPROPERTIES

    Lista opcional de propiedades de la tabla.

  • consulta

    Esta cláusula rellena la tabla mediante los datos de una consulta. Al especificar una consulta y una lista de columnas juntas, la lista de columnas debe contener todas las columnas devueltas por la consulta, o recibirá un error. Las columnas especificadas pero no devueltas por query devuelven valores null cuando se consultan.

Limitaciones

  • Las vistas temporales solo se conservan durante la duración de la canalización.
  • Son privados para la canalización de definición.
  • No se agregan al catálogo y pueden tener el mismo nombre que una vista en el catálogo. Dentro de la canalización, si una vista temporal y una vista o tabla del catálogo tienen el mismo nombre, las referencias al nombre se resolverán en la vista temporal.

Ejemplos

-- 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;