CREATE MATERIALIZED VIEW

CREATE MATERIALIZED VIEW — определить новое материализованное представление


Синтаксис

CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] имя_таблицы
    [ (имя_столбца [, ...] ) ]
    [ USING метод ]
    [ WITH ( параметр_хранения [= значение] [, ... ] ) ]
    [ TABLESPACE имя_табличного_пространства ]
    AS запрос
    [ WITH [ NO ] DATA ]

Описание

Команда CREATE MATERIALIZED VIEW определяет материализованное представление запроса. Запрос выполняется и используется для заполнения представления во время выполнения команды (если только не указано WITH NO DATA). Обновить представление позже можно, выполнив REFRESH MATERIALIZED VIEW.

Команда CREATE MATERIALIZED VIEW подобна CREATE TABLE AS, за исключением того, что она еще и запоминает запрос, используемый для инициализации представления, чтобы позже его при желании можно было обновить. Материализованное представление по многим свойствам сходно с таблицей, но в нем не поддерживаются временные материализованные представления.

Команде CREATE MATERIALIZED VIEW требуется право CREATE в схеме, используемой для создания материализованного представления.


Параметры

IF NOT EXISTS

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

имя_таблицы

Имя создаваемого материализованного представления (может быть дополнено схемой).

имя_столбца

Имя столбца в новом материализованном представлении. Если имена столбцов не указаны, они берутся из имен столбцов результата запроса.

USING метод

Это необязательное предложение определяет табличный метод доступа, используемый для хранения содержимого нового материализованного представления; этот метод должен быть типа TABLE. Дополнительную информацию см. в главе Определение интерфейса табличных методов доступа. Если этот параметр не указан, то для нового материализованного представления выбирается табличный метод доступа по умолчанию. Дополнительную информацию см. в описании параметра default_table_access_method.

WITH ( параметр_хранения [= значение] [, ... ] )

В этом предложении указываются дополнительные параметры хранения для нового материализованного представления; дополнительную информацию см. в подразделе Параметры хранения описания команды CREATE TABLE. Все параметры, которые поддерживает CREATE TABLE, поддерживает и CREATE MATERIALIZED VIEW. Дополнительную информацию см. на справочной странице команды CREATE TABLE.

TABLESPACE имя_табличного_пространства

имя_табличного_пространства — это имя табличного пространства, в котором будет создано новое материализованное представление. Если не указано, то выбирается значение из default_tablespace.

запрос

Команда SELECT, TABLE или VALUES. Этот запрос будет выполняться в рамках операции с ограничениями безопасности; в частности, вызовы функций, которые сами создают временные таблицы, завершатся ошибкой.

WITH [ NO ] DATA

Это предложение указывает, следует ли заполнять материализованное представление во время его создания. Если материализованное представление не наполняется, оно помечается как нечитаемое, так что к нему нельзя будет обращаться до выполнения REFRESH MATERIALIZED VIEW.


Совместимость

Команда CREATE MATERIALIZED VIEW является расширением QHB.


См. также

ALTER MATERIALIZED VIEW, CREATE TABLE AS, CREATE VIEW, DROP MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW