Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ORA-00604:kesalahan terjadi pada SQL rekursif level 1

Saya pikir PreparedStatement definisi harus ditarik keluar dari loop dan digunakan kembali di dalam loop dengan memanggil clearParameters :

pstatement = db_connection.prepareStatement(PDSLnPConstants.UPSERT_SQL); // create a statement

for (Entry<Integer, LinkedHashMap<Integer, String>> entry : GUID_ID_MAPPING.entrySet()) {

    pstatement.setInt(1, entry.getKey());
    pstatement.setString(2, entry.getValue().get(PDSLnPConstants.CGUID_ID));
    pstatement.setString(3, entry.getValue().get(PDSLnPConstants.PGUID_ID));
    pstatement.setString(4, entry.getValue().get(PDSLnPConstants.SGUID_ID));
    pstatement.setString(5, entry.getValue().get(PDSLnPConstants.UID_ID));
    pstatement.setString(6, entry.getValue().get(PDSLnPConstants.ULOC_ID));
    pstatement.setString(7, entry.getValue().get(PDSLnPConstants.SLOC_ID));
    pstatement.setString(8, entry.getValue().get(PDSLnPConstants.PLOC_ID));
    pstatement.setString(9, entry.getValue().get(PDSLnPConstants.ALOC_ID));
    pstatement.setString(10, entry.getValue().get(PDSLnPConstants.SITE_ID));
    pstatement.executeUpdate();

    pstatement.clearParameters();

}

Anda mungkin juga ingin menyelidiki pemrosesan batch (addBatch ). Jika Anda menguji, Anda mungkin perlu menunggu sebentar hingga kursor "terbuka" yang ada dibersihkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa menambahkan/menggabungkan data BLOB ke kolom BLOB menggunakan perintah SQL UPDATE di ORACLE

  2. INSTR() Fungsi di Oracle

  3. Validasi berjalan di semua baris saat melakukan tab pada Oracle ADF

  4. verifikasi_queryable_inventory dikembalikan ORA-20008:Waktu habis

  5. ORA-04021:batas waktu terjadi saat menunggu untuk mengunci objek