ведение копии таблицы изо дня в день в базе данных - PullRequest
0 голосов
/ 25 апреля 2019

Я хочу копировать все данные из исходной таблицы в дубликат таблицы каждый день в 12 часов.Если я сделаю так, какие бы изменения ни произошли, это должно отразиться в дублированной таблице. Например, если мы добавим новую строку, которая должна быть добавлена ​​в дублирующую таблицу. Что еще более важно, если мы изменим любой столбец в исходной таблице, который также должен отражаться в дублирующей таблице без добавления новой строки.значение атрибута существующей строки должно измениться.

@Override
public void insertDataToTableAtBegining() {

    Query itemQuery1 = entitymanager.createNativeQuery("INSERT graph_item SELECT * FROM item WHERE order_id IS NOT NULL");

    log.info("Inserting is completed where count is ZERO for item");

    itemQuery1.executeUpdate();

    Query orderQuery1 = entitymanager.createNativeQuery("INSERT graph_mrk_order SELECT * FROM mrk_order");

    log.info("Inserting is completed where count is ZERO for order");

    orderQuery1.executeUpdate();

}
@Override
public void insertDataToTable(Date beg, Date end) {

    Query itemQuery1;

    itemQuery1 = entitymanager.createNativeQuery("INSERT graph_item SELECT * FROM item WHERE create_timestamp BETWEEN '" + beg +"' AND '"+ end +"' WHERE order_id IS NOT NULL");
    log.info("Inserting is completed in Daily for item");

    itemQuery1.executeUpdate();


    Query orderQuery1;



    orderQuery1 = entitymanager.createNativeQuery("INSERT graph_mrk_order SELECT * FROM mrk_order WHERE create_timestamp BETWEEN '" + beg +"' AND '"+ end +"'");
    log.info("Inserting is completed in Daily for order");

    orderQuery1.executeUpdate();
}

1 Ответ

0 голосов
/ 25 апреля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...