CRÉER VUE TEMPORAIRE (pipelines)

Utilisez l’instruction CREATE TEMPORARY VIEW pour créer des vues temporaires dans un pipeline.

Syntaxe

Le code suivant décrit la syntaxe permettant de déclarer des vues avec SQL :

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

Paramètres

  • view_name

    Nom de la vue.

  • col_name

    Si vous le souhaitez, vous pouvez spécifier des colonnes pour la vue obtenue. col_name est un nom pour la colonne.

  • col_comment

    Lorsque vous spécifiez des colonnes, vous pouvez éventuellement spécifier une description pour la colonne.

  • column_constraint

  • view_comment

    Description facultative de la vue.

  • TBLPROPERTIES

    Une liste optionnelle des propriétés de table pour la vue.

  • query

    Cette clause peuple la vue en utilisant les données d’une requête. Lorsque vous spécifiez une requête et une liste de colonnes ensemble, la liste de colonnes doit contenir toutes les colonnes retournées par la requête, ou une erreur se produit. Toutes les colonnes spécifiées, mais non retournées par querynull les valeurs renvoyées lors de l’interrogation.

Limites

  • Les vues temporaires sont conservées uniquement pendant toute la durée de vie du pipeline.
  • Ils sont réservés au pipeline de définition.
  • Ils ne sont pas ajoutés au catalogue et peuvent avoir le même nom qu’un affichage dans le catalogue. Dans le pipeline, si une vue temporaire et une vue ou une table du catalogue ont le même nom, les références au nom sont résolues vers la vue temporaire.

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;

-- Create a temporary view with a data quality expectation
CREATE TEMPORARY VIEW valid_sales (
  CONSTRAINT valid_total_sales EXPECT (total_sales > 0) ON VIOLATION DROP ROW
)
  AS SELECT date(sales_date) AS sales_day, SUM(sales) AS total_sales FROM sales GROUP BY date(sales_date);