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

У нас есть сценарий ниже.

Мы получаем данные в file. Мы загрузим то же самое в DB table. В следующий раз мы получим только дополнительные данные. поэтому со следующего раза нам не нужно загружать все данные, а только добавочные данные. имя файла будет одинаковым, независимо от того, являются ли данные инкрементными или полными. так что в первый раз мы должны insert записать, а со следующего раза в приходе мы должны update записать. Scheduler будет отправлять файл каждый день. временная метка файла будет другой, в остальном все будет так же. Можете ли вы предложить логику для того же самого в PL/SQL

вместе с приведенным выше полным сценарием ниже, мы получим файл в формате zip. Сначала мы распакуем файл. если файл ".csv", то мы должны обновить или вставить данные. если после распаковки файла это ".pscsv" (его внутренний формат), то этот файл содержит первичный ключ. на основе первичного ключа мы удалим запись из целевой базы данных. поэтому, если 1) .csv, то загрузите или вставьте 2) .pscsv, затем удалите запись

1 Ответ

3 голосов
/ 10 ноября 2019

Из того, что вы описали, если вы использовали этот файл в качестве внешней таблицы и merge команды (которая также называется "upsert", так как она способна выполнять insert и update в пределах одного оператора), чтобы заполнить целевую таблицу, хорошо - вы могли бы рассмотреть это как один вариант, который, на самом деле, мог бы работать довольно хорошо.

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