Внес поправки в английскую версию, выполнил перевод на русский язык, подкорректировал некоторые файлы в 'ALTER'.
2.4 KiB
toc_priority | toc_title |
---|---|
40 | UPDATE |
ALTER TABLE … UPDATE
ALTER TABLE [db.]table UPDATE column1 = expr1 [, ...] WHERE filter_expr
Манипулирует данными, соответствующими заданному выражению фильтрации. Реализовано как мутация.
!!! note "Note"
Префикс ALTER TABLE
делает этот синтаксис отличным от большинства других систем, поддерживающих SQL. Он предназначен для обозначения того, что в отличие от аналогичных запросов в базах данных OLTP это тяжелая операция, не предназначенная для частого использования.
Выражение filter_expr
должно иметь тип UInt8
. Запрос изменяет значение указанных столбцов на вычисленное значение соответствующих выражений в каждой строке, для которой filter_expr
принимает ненулевое значение. Вычисленные значения преобразуются к типу столбца с помощью оператора CAST
. Изменение столбцов, которые используются при вычислении первичного ключа или ключа партиционирования, не поддерживается.
Один запрос может содержать несколько команд, разделенных запятыми.
Синхронность обработки запроса определяется параметром mutations_sync. По умолчанию он является асинхронным.
Смотрите также