Du gör det för komplicerat.
Använd en PreparedStatement och addBatch() för varje klump i din lista:
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();
Inget krångel med flyende strängar, inga problem med längden på bokstaverna, inget behov av att skapa tillfälliga klumpar. Och förmodligen lika snabbt som att använda en enda INSERT ALL-sats.
Om du använder en aktuell drivrutin (> 10.2) så tror jag att anropet setCharacterStream() och skapandet av Reader inte heller är nödvändigt. En enkel setString(1, query)
kommer antagligen att fungera också.