Как обновить таблицу SQL из результирующего набора источника служб SSIS - PullRequest
3 голосов
/ 16 апреля 2019

в пакете служб SSIS У меня есть шаг источника «Power Query», который приводит к 3 столбцам, Region, Facility и Weekly_Amount.Я заинтересован в обновлении таблицы SQL с помощью столбца Weekly_Amount в Power Query, где Region и Facility относятся к записи таблицы SQL.Пример:

Update {Some table}
set {SQL Table}.Weekly_Amount = {PowerQuery}.Weekly_Amount 
where {SQL Table}.Region = {PowerQuery}.Region
and {SQL Table}.Facility = {PowerQuery}.Facility

Какой шаг SSIS мне нужно использовать, чтобы выполнить вышеуказанное?Я всегда могу включить заявление об обновлении T-Sql.

Спасибо.

1 Ответ

2 голосов
/ 17 апреля 2019

Команда Oledb

Вы можете использовать преобразование команд OLEDB в Задаче потока данных, чтобы сделать это:

Update {SQL Table}
set {SQL Table}.Weekly_Amount = ?
where {SQL Table}.Region = ?
and {SQL Table}.Facility = ?

И сопоставьте столбцы с параметрами в форме конфигурации команд OLEDB.

Ссылки и полезные статьи


Постановочный стол

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

Вы можете импортировать данные в промежуточную таблицу и использовать задачу «Выполнение SQL» для обновления данных с помощью аналогичного запроса:

Update {SQL Table}
set {SQL Table}.Weekly_Amount = {Staging Table}.Weekly_Amount
FROM {SQL Table} INNER JOIN {Staging Table} 
    ON {SQL Table}.Region = {Staging Table}.Region 
    AND {SQL Table}.Facility = {Staging Table}.Facility
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...