sql >> Databáze >  >> RDS >> Oracle

Vložte CLOB do databáze Oracle

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.



  1. Dynamický pivot T-SQL

  2. nelze načíst oci8 -> Závažná chyba:Volání nedefinované funkce oci_connect()

  3. Jak nainstalovat phpMyAdmin na spravované hostingové účty

  4. Jak vložit JSONB do Postgresql s Pythonem?