Добавление нескольких данных с помощью CLOB - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть эта внешняя хранимая процедура оракула, которая принимает INTEGER, CLOB, VARCHAR в качестве параметров и вставляет запись в таблицу при выполнении.Это будет вызвано использованием слоя dao, который состоит из JAVA + Spring.

Меня попросили вставить несколько записей (1000 с), используя одну и ту же процедуру.поэтому я имею в виду написание блока pl / sql, который принимает либо String, либо Clob, и подставляет значения в цикл, который вызывает процедуру.Для этого мне нужно либо добавить строку с удаленными параметрами для каждой записи и передать ее в качестве параметра, либо я могу создать CLOB из этой строки и передать ее в качестве параметра.Например: String param ="value1,value2,value3 | value1,value2,value3 | value1,value2,value3 ..etc"

Мои вопросы:

  1. Есть ли лучшее решение, чем то, что я думаю (потому что я думаю, что лучше зациклить его внутри БДсервер, а не зацикливание на уровне DAO и выполнение тысяч вызовов БД)?

  2. Если я выберу свое решение, будут ли ограничения, препятствующие моим усилиям, такие как размер данных,Я могу перейти на блок pl / sql?

1 Ответ

0 голосов
/ 01 февраля 2012

Я бы отослал вас к такому вопросу:

Массовая вставка из Java в Oracle

По сути, вы должны выполнять несколько массовых операций, а не тысячи отдельных.

...