Děláte to komplikované.
Použijte PreparedStatement a addBatch() pro každý clob ve vašem seznamu:
String sql = "insert into " + tempTableName + " values (?)";
PreparedStatement stmt = connection.prepareStatement(sql);
for (String query : readQueries) {
stmt.setCharacterStream(1, new StringReader(query), query.lenght());
stmt.addBatch();
}
stmt.exececuteBatch();
Žádné zahrávání si s unikajícími řetězci, žádný problém s délkou literálů, není potřeba vytvářet dočasné cloby. A s největší pravděpodobností stejně rychle jako pomocí jediného příkazu INSERT ALL.
Pokud používáte aktuální ovladač (> 10.2), pak si myslím, že volání setCharacterStream() a vytvoření Readeru také není nutné. Jednoduchý setString(1, query)
bude s největší pravděpodobností také fungovat.