ClickHouse/docs/ru/sql-reference/statements/alter/view.md
olgarev 2570e270d7
DOCSUP-13593: Alter view (#28911)
* Alter mv and lv (en)

* Translated to Russian. Fixes.

* Fixes

* Update docs/en/sql-reference/statements/alter/view.md

Co-authored-by: Ivan Blinkov <github@blinkov.ru>

Co-authored-by: Ivan Blinkov <github@blinkov.ru>
2021-09-17 12:07:32 +03:00

2.0 KiB
Raw Blame History

toc_priority toc_title
50 VIEW

Выражение ALTER TABLE … MODIFY QUERY

Вы можеие изменить запрос SELECT, который был задан при создании материализованного представления, с помощью запроса 'ALTER TABLE … MODIFY QUERY'. Используйте его если при создании материализованного представления не использовалась секция TO [db.]name. Настройка allow_experimental_alter_materialized_view_structure должна быть включена.

Если при создании материализованного представления использовалась конструкция TO [db.]name, то для изменения отсоедините представление с помощью DETACH, измените таблицу с помощью ALTER TABLE, а затем снова присоедините запрос с помощью ATTACH.

Пример

CREATE TABLE src_table (`a` UInt32) ENGINE = MergeTree ORDER BY a;
CREATE MATERIALIZED VIEW mv (`a` UInt32) ENGINE = MergeTree ORDER BY a AS SELECT a FROM src_table; 
INSERT INTO src_table (a) VALUES (1), (2);
SELECT * FROM mv;
┌─a─┐
│ 1 │
│ 2 │
└───┘
ALTER TABLE mv MODIFY QUERY SELECT a * 2 as a FROM src_table;
INSERT INTO src_table (a) VALUES (3), (4);
SELECT * FROM mv;
┌─a─┐
│ 6 │
│ 8 │
└───┘
┌─a─┐
│ 1 │
│ 2 │
└───┘

Выражение ALTER LIVE VIEW

Выражение ALTER LIVE VIEW ... REFRESH обновляет Live-представление. См. раздел Force Live View Refresh.