Слияние данных
Надстройка 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 могут использовать параметры. См. Сохранение данных командами SQL.