Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-00604:lỗi xảy ra ở SQL đệ quy cấp 1

Tôi nghĩ rằng PreparedStatement định nghĩa nên được rút ra khỏi vòng lặp và sử dụng lại trong vòng lặp bằng cách gọi 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();

}

Bạn cũng có thể muốn điều tra quá trình xử lý hàng loạt (addBatch ). Nếu bạn đang thử nghiệm, bạn có thể cần đợi một chút để làm sạch các con trỏ "mở" hiện có.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố với phân số ngày trong Oracle

  2. Oracle tối ưu hóa OR + IN thành OR + EXISTS rất chậm

  3. đen không khớp với lỗi chuỗi định dạng khi cập nhật bảng sql

  4. Làm cách nào để thêm một ràng buộc trong Oracle SQL để giới hạn một giá trị?

  5. Cách sử dụng Pandas Write_Frame để xuất kết quả sang Cơ sở dữ liệu Oracle trong cx_Oracle