Массовое обновление таблиц в Oracle - PullRequest
3 голосов
/ 25 января 2012

У меня есть требование, когда мне нужно делать массовые обновления таблицы из плоского файла в программе Java.

Плоский файл будет иметь тысячи записей с разделенными запятыми значениями. Поэтому, если запись в плоском файле найдена в таблице, мне следует обновить строку, в противном случае мне нужно вставить ее в другую таблицу. Так что я написал функцию для того же. Но моя проблема - обновить таблицу за один раз для всех записей в плоском файле.

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

Я также использовал пакетное обновление JDBC, но проблема в том, что хранимая процедура / функция с параметрами out или inout не может быть пакетирована.

Кто-нибудь может подсказать, есть ли способ сделать это?

Ответы [ 2 ]

6 голосов
/ 25 января 2012

Я бы использовал внешнюю таблицу (ссылаясь на файл как таблицу), а затем использовал команду merge (команда, которая позволяет выполнять upserts), чтобы обновить / вставить мою таблица

0 голосов
/ 25 января 2012

Google GORM немного сложнее, но вы напишите меньше кода.

...