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

ORA-01775:chuỗi lặp lại các từ đồng nghĩa nhưng không có từ đồng nghĩa

Tôi không biết tại sao bạn lại gặp lỗi từ đồng nghĩa. Nhưng đó là rất nhiều mã cho một cái gì đó phải là một câu lệnh DELETE duy nhất. Tôi giả sử bạn đã thay đổi nó thành commit-every-n để tránh lỗi khôi phục. Sẽ thật tuyệt nếu bạn có thể sử dụng DBA để tăng không gian hoàn tác để bạn thực sự có thể thực hiện công việc mình cần làm. Không làm được điều đó, tôi nghĩ bạn vẫn có thể làm cho nó đơn giản hơn nhiều:

LOOP
  DELETE FROM log_master
    WHERE last_changed_date < :purge_date
      AND event_id = :event_id
      AND rownum <= :batch_delete_limit
    USING purge_date, event_id, l_bulk_collect_limit;
  EXIT WHEN SQL%NOTFOUND;
END LOOP;

Và bạn có thể thử lại logic của mình nếu bạn muốn.

Xin lỗi nếu tôi đã bỏ qua một số điều tế nhị khiến điều này khác với những gì bạn đang làm.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thực hiện SQL injection trên Oracle

  2. Nhận thêm hàng - Sau khi nối 3 bảng bằng cách sử dụng Nối trái

  3. Làm cách nào để chuyển động các giá trị cho toán tử IN?

  4. Làm cách nào để viết một thủ tục được lưu trữ để thêm một cột vào con trỏ tham chiếu từ một thủ tục được lưu trữ khác?

  5. Bản cập nhật SQL có ảnh hưởng đến truy vấn con của nó trong quá trình chạy cập nhật không?