Udostępnij przez


UTWÓRZ WIDOK TYMCZASOWY (pipelines)

Użyj instrukcji CREATE TEMPORARY VIEW, aby utworzyć widoki tymczasowe w potoku.

Uwaga / Notatka

CREATE LIVE VIEW i CREATE TEMPORARY LIVE VIEW są starsze składni dla tego samego polecenia. CREATE TEMPORARY VIEW jest preferowaną składnią.

Jedynym wyjątkiem jest CREATE LIVE VIEW obsługa oczekiwań w postaci CONSTRAINT klauzul. Jeśli musisz uwzględnić oczekiwania, użyj CREATE LIVE VIEW składni .

Składnia

Poniżej opisano składnię deklarowania widoków za pomocą języka SQL:

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

Parametry

  • view_name

    Nazwa widoku.

  • col_name

    Opcjonalnie możesz określić kolumny dla widoku wynikowego. col_name to nazwa kolumny.

  • col_comment

    Podczas określania kolumn można opcjonalnie określić opis kolumny.

  • view_comment

    Opcjonalny opis widoku.

  • TBLPROPERTIES

    Opcjonalna lista właściwości tabeli.

  • query

    Ta klauzula wypełnia tabelę przy użyciu danych z zapytania. Po określeniu zapytania i listy kolumn lista kolumn musi zawierać wszystkie kolumny zwrócone przez zapytanie lub zostanie wyświetlony błąd. Wszystkie kolumny wyszczególnione, ale nie zwrócone przez query, zwracają wartości null podczas wykonywania zapytania.

Ograniczenia

  • Widoki tymczasowe są utrwalane tylko na czas trwania przepływu danych.
  • Są one prywatne dla potoku, który je definiuje.
  • Nie są one dodawane do katalogu i mogą mieć taką samą nazwę jak widok w katalogu. Jeśli w potoku danych widok tymczasowy oraz widok lub tabela w katalogu mają taką samą nazwę, odwołania do tej nazwy będą odnosić się do widoku tymczasowego.

Przykłady

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