Поделиться через


Создать временное представление (каналы)

Используйте инструкцию CREATE TEMPORARY VIEW для создания временных представлений в конвейере.

Замечание

CREATE LIVE VIEW и CREATE TEMPORARY LIVE VIEW более старый синтаксис для той же команды. CREATE TEMPORARY VIEW — предпочтительный синтаксис.

Единственным исключением являются CREATE LIVE VIEW, которые поддерживают ожидания в форме CONSTRAINT предложений. Если необходимо включить ожидания, используйте CREATE LIVE VIEW синтаксис.

Синтаксис

Ниже описан синтаксис для объявления представлений с помощью SQL:

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

Параметры

  • view_name

    Имя представления.

  • col_name

    При необходимости можно указать столбцы для результирующего представления. col_name — это имя столбца.

  • col_comment

    При указании столбцов можно также указать описание столбца.

  • view_comment

    Необязательное описание представления.

  • TBLPROPERTIES

    Необязательный список свойств таблицы.

  • query

    Это предложение заполняет таблицу с помощью данных из запроса. При указании запроса и списка столбцов вместе список столбцов должен содержать все столбцы, возвращаемые запросом, или вы получите ошибку. Указанные столбцы, которые не возвращаются, отображают значения querynull при запросе.

Ограничения

  • Временные представления сохраняются только в течение всего времени существования конвейера.
  • Они являются приватными для определяющего потока данных.
  • Они не добавляются в каталог и могут иметь такое же имя, что и представление в каталоге. В конвейере, если временное представление и представление или таблица в каталоге имеют то же имя, ссылки на это имя будут разрешаться на временное представление.

Примеры

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