Condividi tramite


CREA VISTA TEMPORANEA (pipeline)

Usare l'istruzione CREATE TEMPORARY VIEW per creare viste temporanee in una pipeline.

Annotazioni

CREATE LIVE VIEW e CREATE TEMPORARY LIVE VIEW sono una sintassi precedente per lo stesso comando. CREATE TEMPORARY VIEW è la sintassi preferita.

L'unica eccezione è che CREATE LIVE VIEW supporta le aspettative sotto forma di clausole CONSTRAINT. Se è necessario includere le aspettative, usare la CREATE LIVE VIEW sintassi .

Sintassi

Di seguito viene descritta la sintassi per dichiarare le viste con SQL:

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

Parametri

  • view_name

    Nome della visualizzazione.

  • col_name

    Facoltativamente, è possibile specificare colonne per la vista risultante. col_name è un nome per la colonna.

  • col_comment

    Quando si specificano colonne, è possibile specificare facoltativamente una descrizione per la colonna.

  • view_comment

    Descrizione facoltativa per la visualizzazione.

  • TBLPROPERTIES

    Elenco facoltativo delle proprietà della tabella.

  • query

    Questa clausola popola la tabella usando i dati di una query. Quando si specifica una query e un elenco di colonne, l'elenco di colonne deve contenere tutte le colonne restituite dalla query oppure verrà visualizzato un errore. Qualsiasi colonna specificata ma non restituita restituirà valori query quando viene eseguita una query.

Limitazioni

  • Le viste temporanee vengono mantenute solo per tutta la durata della pipeline.
  • Sono privati alla pipeline che li definisce.
  • Non vengono aggiunti al catalogo e possono avere lo stesso nome di una visualizzazione nel catalogo. All'interno della pipeline, se una vista temporanea e una vista o una tabella nel catalogo hanno lo stesso nome, i riferimenti al nome verranno risolti nella visualizzazione temporanea.

Esempi

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