Compartir vía


CREAR VISTA TEMPORAL (canalizaciones)

Use la instrucción CREATE TEMPORARY VIEW para crear vistas temporales en un pipeline.

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 CREATE LIVE VIEW respalda expectativas en forma de CONSTRAINT condiciones. Si necesita incluir expectativas, use la CREATE LIVE VIEW sintaxis .

Syntax

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.

  • col_comment

    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 retornan valores de null cuando se consultan.

Limitaciones

  • Las vistas temporales únicamente se conservan durante el ciclo de vida 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 dirigirán a la vista temporal.

Examples

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