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