Oracle
 sql >> база данни >  >> RDS >> Oracle

Вмъкнете CLOB в базата данни на Oracle

Усложнявате нещата.

Използвайте PreparedStatement и addBatch() за всеки клон във вашия списък:

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();

Без да се забърквате с избягващите низове, няма проблем с дължината на литералите, няма нужда да създавате временни клапсове. И най-вероятно също толкова бързо, колкото използването на един израз INSERT ALL.

Ако използвате текущ драйвер (> 10.2), тогава мисля, че извикването setCharacterStream() и създаването на Reader също не са необходими. Прост setString(1, query) най-вероятно също ще работи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на sha1-хеш на ред в Oracle

  2. Инсталиране на пакети RODBC/ROracle на OS X Mavericks

  3. Опитът да експортирате Oracle чрез PL/SQL дава дата 0000-00-00

  4. Заключете базата данни на Oracle, преди да стартирате скриптовете за изтриване/зареждане на данни

  5. Открийте свободното място в пространството за таблица