Я использую pentaho DI для вставки данных в таблицу фактов. Вещь - это таблица, из которой я заполняю свою таблицу фактов, которая содержит 10000 повторений и изменений. Используя поиск базы данных и вставку обновления, я могу загрузить таблицу фактов правильно один раз. Но когда новые записи добавляются в мою таблицу соседей (скажем, она становится 15000), и я снова вставляю записи в таблицу фактов, то эти 15000 recods снова добавляются в мою таблицу фактов. Я хочу добавить новые 5000 записей, которые не существуют на самом деле. Пожалуйста, предложите мне, какие преобразования мне нужно выполнить, чтобы добиться этого.загрузка таблицы фактов с использованием интеграции данных пентахо
1
A
ответ
2
пытаются делать в upsertion вместо вставки (если строка существует, то обновить, если не вставить)
0
Вы можете использовать некоторые функции DB.
В SQL Server 2008 существует слияние sql, которые решают проблему с этим типом.
Это пример следующим образом в SQL Server 2008:
MERGE Production.UnitMeasure AS target USING (SELECT @UnitMeasureCode, @Name) AS source (UnitMeasureCode, Name) ON (target.UnitMeasureCode = source.UnitMeasureCode) WHEN MATCHED THEN UPDATE SET Name = source.Name WHEN NOT MATCHED THEN
INSERT (UnitMeasureCode, Name) VALUES (source.UnitMeasureCode, source.Name) OUTPUT deleted., $action, inserted. INTO #MyTempTable;