Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-01775:zapętlony łańcuch synonimów, ale nie ma synonimów

Nie mam pojęcia, dlaczego pojawia się błąd synonimu. Ale to dużo kodu jak na coś, co powinno być pojedynczą instrukcją DELETE. Zakładam, że zmieniłeś go na commit-every-n, aby uniknąć błędów wycofywania. Byłoby miło, gdybyś mógł uzyskać DBA, aby zwiększyć przestrzeń cofania, dzięki czemu możesz faktycznie wykonać pracę, którą musisz wykonać. Jeśli to się nie uda, myślę, że nadal możesz to znacznie uprościć:

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;

I jeśli chcesz, możesz to objąć swoją logiką ponawiania.

Przepraszam, jeśli przegapiłem jakąś subtelność, która odróżnia to od tego, co robisz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Delphi - zapobiegaj wstrzykiwaniu SQL

  2. Uzyskaj wartość na podstawie maks. innej kolumny pogrupowanej według innej kolumny

  3. Zapytanie Oracle jako źródło w SSIS definiuje nieprawidłowe typy danych

  4. jak zwiększyć wartość datetime z wartością przyrostu jako 30 minut w Oracle?

  5. Połączenie zawiesza się po czasie bezczynności