Link Search Menu Expand Document

INSERT INTO download_external_table

Содержание раздела
  1. Синтаксис
  2. Ограничения
  3. Пример
    1. Выгрузка из наиболее оптимальной СУБД
    2. Выгрузка из указанной СУБД
    3. Выгрузка из материализованного представления

Запрос позволяет выгрузить данные, выбранные SELECT-подзапросом к логической базе данных, во внешний приемник данных. Данные можно выгружать из логических таблиц, логических и материализованных представлений. Запрос обрабатывается в порядке, описанном в разделе Порядок обработки запросов на выгрузку данных.

Для получения небольшого объема данных можно использовать запрос данных.

Перед выполнением запроса необходимо создать внешнюю таблицу с указанием пути к внешнему приемнику данных. Подробнее о порядке выполнения действий для выгрузки данных см. в разделе Выгрузка данных.

В запросе можно указать СУБД хранилища для выгрузки данных. Если СУБД не указана, система определяет СУБД, оптимальную для выгрузки, в зависимости от параметров запроса, месторасположения данных и конфигурации системы.

В ответе возвращается:

  • пустой объект ResultSet при успешном выполнении запроса;
  • исключение при неуспешном выполнении запроса.

При успешном выполнении запроса данные выгружаются в том формате и в тот приемник данных, которые были указаны при создании внешней таблицы выгрузки. Формат данных соответствует описанному в разделе Формат выгрузки данных.

Синтаксис

INSERT INTO [db_name.]ext_table_name SELECT query

Параметры:

  • db_name — имя логической базы данных, из которой выгружаются данные. Параметр опционален, если выбрана логическая БД, используемая по умолчанию;
  • ext_table_name — имя внешней таблицы выгрузки;
  • querySELECT-подзапрос для выбора выгружаемых данных. Если в подзапросе указано ключевое слово DATASOURCE_TYPE с псевдонимом СУБД хранилища, данные выгружаются из этой СУБД, иначе — из СУБД, наиболее оптимальной для исполнения запроса.

Ограничения

Имена и порядок следования столбцов должны совпадать в SELECT-подзапросе на выгрузку данных и внешней таблице выгрузки.

Пример

Выгрузка из наиболее оптимальной СУБД

INSERT INTO marketing.sales_ext_download
SELECT * FROM marketing.sales WHERE product_units > 2

Выгрузка из указанной СУБД

INSERT INTO marketing.sales_ext_download 
SELECT * FROM marketing.sales WHERE description = 'Покупка по акции 1+1' DATASOURCE_TYPE = 'adqm'

Выгрузка из материализованного представления

INSERT INTO marketing.sales_by_stores_ext_download
SELECT * FROM marketing.sales_by_stores WHERE product_code IN ('ABC0002', 'ABC0003', 'ABC0004') DATASOURCE_TYPE = 'adqm'