Partager via


CRÉER VUE TEMPORAIRE (pipelines)

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

Note

CREATE LIVE VIEW et CREATE TEMPORARY LIVE VIEW sont une syntaxe plus ancienne pour la même commande. CREATE TEMPORARY VIEW est la syntaxe préférée.

La seule exception est CREATE LIVE VIEW satisfait les attentes sous forme de clauses CONSTRAINT. Si vous devez inclure des attentes, utilisez la CREATE LIVE VIEW syntaxe.

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 ] [, ...] ]
  )]
  [ 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.

  • view_comment

    Description facultative de la vue.

  • TBLPROPERTIES

    Liste facultative des propriétés de table disponibles pour la table.

  • query

    Cette clause remplit la table à l’aide des 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 vous obtiendrez une erreur. Les colonnes spécifiées mais non retournées par query renvoient null de valeurs lorsqu'elles sont interrogées.

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 seront dirigées 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;