Megosztás a következőn keresztül:


IDEIGLENES NÉZET LÉTREHOZÁSA (pipelines)

CREATE TEMPORARY VIEW Az utasítással ideiglenes nézeteket hozhat létre egy folyamatban.

Megjegyzés:

CREATE LIVE VIEW és CREATE TEMPORARY LIVE VIEW ugyanazon parancs régebbi szintaxisa. CREATE TEMPORARY VIEW az előnyben részesített szintaxis.

Az egyetlen kivétel az CREATE LIVE VIEW elvárások támogatása a CONSTRAINT záradékok formájában. Ha elvárásokat kell megadnia, használja a szintaxist CREATE LIVE VIEW .

Szemantika

Az alábbiakban a nézetek SQL-sel való deklarálásának szintaxisát ismerteti:

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

Paraméterek

  • nézet_név

    A nézet neve.

  • col_name

    Igény szerint megadhatja az eredményül kapott nézet oszlopait. col_name az oszlop neve.

  • col_comment

    Oszlopok megadásakor opcionálisan megadhatja az oszlop leírását.

  • view_comment

    A nézet opcionális leírása.

  • TBLPROPERTIES

    A tábla táblatulajdonságainak választható listája.

  • query

    Ez a záradék kitölti a táblát egy lekérdezés adataival. Ha egy lekérdezést és egy oszloplistát együtt ad meg, az oszloplistának tartalmaznia kell a lekérdezés által visszaadott összes oszlopot, vagy hibaüzenet jelenik meg. Azok az oszlopok, amelyeket megadtak, de a query nem adja vissza, a null értékeket adják vissza lekérdezéskor.

Korlátozások

  • Az ideiglenes nézetek csak a folyamat teljes élettartama alatt maradnak meg.
  • Ezek privátak a definiáló folyamat számára.
  • Ezek nem lettek hozzáadva a katalógushoz, és ugyanazzal a névvel rendelkezhetnek, mint egy nézet a katalógusban. Csővezetéken belül, ha egy ideiglenes nézetnek és a katalógusban egy nézetnek vagy táblának ugyanaz a neve van, a névre mutató hivatkozások az ideiglenes nézethez fognak irányulni.

Példák

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