sql >> Database >  >> RDS >> Oracle

CLOB invoegen in Oracle-database

Je maakt het veel te ingewikkeld.

Gebruik een PreparedStatement en addBatch() voor elke klomp in uw lijst:

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

Geen gedoe met ontsnappende snaren, geen probleem met de lengte van de letterlijke letters, geen noodzaak om tijdelijke klompen te maken. En hoogstwaarschijnlijk net zo snel als het gebruik van een enkele INSERT ALL-opdracht.

Als je een huidig ​​stuurprogramma gebruikt (> 10.2), dan denk ik dat de aanroep setCharacterStream() en het maken van de Reader ook niet nodig is. Een eenvoudige setString(1, query) zal hoogstwaarschijnlijk ook werken.



  1. Hoe kunt u overerving in een database weergeven?

  2. Gebruik SERVERPROPERTY() om serverinformatie op te halen in SQL Server

  3. MySQL:Foutcode:1118 Rijgrootte te groot (> 8126). Enkele kolommen wijzigen in TEKST of BLOB

  4. Postgresql json zoals query