Слияние данных
Надстройка SaveToDB поддерживает режим слияния данных, при котором команды слияния выполняются для каждой строки таблицы данных Excel.
Это можно использовать, например, для сохранения данных, загруженных из веб, в базу данных.
Пользователи могут использовать Мастер слияния для первоначального слияния и затем пункт Сохранить слиянияем для повторного слияния новых данных.
Разработчики могут настроить этот режим для объекта. В этом случае, надстройка будет выполнять операцию слияния даже по кнопке Сохранить.
Поддерживаются четыре варианта реализации слияния:
- Слияние в таблицу
- Слияние в представление
- Слияние с использованием хранимой процедуры
- Слияние с использованием SQL-кода
Настройка
Настроить режим слияния можно в таблице xls.objects или представлениях списков запросов.
Ниже приведен пример настройки в таблице xls.objects:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_OBJECT | UPDATE_OBJECT | DELETE_OBJECT |
---|---|---|---|---|---|---|---|
CRM | Contacts | HTTP | <API call> | dbo.contacts |
Ниже приведен пример настройки для представления списка запросов:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_PROCEDURE | UPDATE_PROCEDURE | DELETE_PROCEDURE | PROCEDURE_TYPE |
---|---|---|---|---|---|---|---|---|
CRM | Contacts | HTTP | <API call> | dbo.contacts |
Используйте таблицу xls.objects, чтобы настроить поведение по-умолчанию.
Используйте представления списков запросов для создания конфигураций с использованием SQL.
Для использования списка запросов пользователь должен выбрать его в мастере подключения.
Ниже приведены примеры с использованием таблицы xls.objects.
Слияние данных в таблицы
Для слияния данных в таблицу, укажите ее как объект INSERT.
Например:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_OBJECT | UPDATE_OBJECT | DELETE_OBJECT |
---|---|---|---|---|---|---|---|
CRM | Contacts | HTTP | <API call> | dbo.contacts |
Данные в таблице Excel должны иметь поля, которые являются полями первичного ключа в целевой таблице.
Колонки данных для целевой таблицы можно создавать с помощью формул Excel.
Слияние данных в представления
Этот метод аналогичен слиянию в таблицы.
Например:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_OBJECT | UPDATE_OBJECT | DELETE_OBJECT |
---|---|---|---|---|---|---|---|
CRM | Contacts | HTTP | <API call> | dbo.view_contacts |
Представление должно быть обновляемым.
Слияние данных с использованием хранимых процедур
Для использования хранимой процедуры, укажите ее как объект INSERT.
Например:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_OBJECT | UPDATE_OBJECT | DELETE_OBJECT |
---|---|---|---|---|---|---|---|
CRM | Contacts | HTTP | <API call> | dbo.usp_contacts_merge |
Хранимые процедуры слияния могут использовать параметры аналогично процедурам сохранения изменений. См. Сохранение данных с использованием хранимых процедур.
Слияние данных с использованием команд SQL
Для слияния данных командами SQL, укажите код в поле объекта INSERT.
Например:
ID | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | TABLE_CODE | INSERT_OBJECT | UPDATE_OBJECT | DELETE_OBJECT |
---|---|---|---|---|---|---|---|
CRM | Contacts | HTTP | <API call> | <MERGE SQL> |
К примеру, такой подход можно использовать с SQLite или SQL Server Compact, которые не поддерживают хранимые процедуры.
Команды SQL могут использовать параметры. См. Сохранение данных командами SQL.