REPLACE INTO

Записывает строки в динамическую таблицу. Для существующих ключей перезаписывает строки целиком, а для новых добавляет значения в таблицу.

Для использования REPLACE INTO должны выполняться условия:

  • Целевая таблица должна существовать.
  • Целевая таблица должна быть сортированной динамической таблицей.
  • Целевая таблица должна быть примонтирована.
  • Записываемые данные должны быть уникальны по ключу.
  • Данные не обязаны быть сортированными по ключу - если данные не сортированные, они будут отсортированы средствами YQL, путём запуска sort операции.

Описание

REPLACE INTO позволяет выполнять те же операции, что и INSERT INTO, но с важным отличием: в REPLACE INTO вставка возможна только в динамические таблицы.

Может использоваться, когда вставляемые данные только частично перезаписывают существующие, и семантика очистки таблицы перед записью INSERT INTO WITH TRUNCATE не подходит.

Использование модификаторов

Аналогично использованию модификаторов в INSERT INTO.

Полный список поддерживаемых модификаторов записи

  • USER_ATTRS=yson — задать пользовательские атрибуты, которые будут добавлены к таблице. Существующие атрибуты будут перезаписаны. Атрибуты должны задаваться в виде yson-словаря.

Примечание

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

Примеры

REPLACE INTO my_dynamic_table
SELECT key FROM my_table_source;

REPLACE INTO my_dynamic_table WITH USER_ATTRS="{attr1=value1; attr2=value2;}"
SELECT key FROM my_table_source;
Предыдущая
Следующая