2016-01-15 9 views
0

У меня есть автономное приложение Java со встроенной базой данных H2 (D1) и таблицей T1. У меня есть другая база данных mysql (D2) с таблицей T2, размещенной на сервере. Мои требования - вытащить полные данные из D2.T2 и вставить его в D1.T1. T1 и T2 имеют одинаковое определение таблицы. Первое притяжение - это не проблема. Начиная с 2-го притяжения мне нужно только вытащить строки, которые были обновлены в D2.T2, и обновить их в D1.T2. Как это можно достичь? Я должен найти дельту с последнего раза, когда я вытащил, а затем обновил эти строки.Сравнение двух таблиц в разных базах данных и дельта

+0

Можете ли вы изменить таблицы, чтобы включить столбец hashkey? –

+0

Я не могу изменить таблицу D2.T2. Его наше предприятие DB –

ответ

0

Если структуры на обеих таблицах одинаковы, вы можете попробовать следующее SQL заявление:

INSERT INTO your_table 
    (your_column, ...) 
VALUES 
    (your_value, ...) 
ON DUBLICATE KEY UPDATE 
    your_column = your_value, ... 

Вы должны получить записи из исходной базы данных и выполнить приведенное выше утверждение для каждого из них на целевой базе данных ,

+0

Они находятся на двух разных серверах :( –

+0

Я думаю, что это не проблема. Получите записи на первом шаге и нажмите их в свою целевую базу данных. –

Смежные вопросы