sql >> Databasteknik >  >> RDS >> Oracle

ORA-01775:looping kedja av synonymer men det finns inga synonymer

Jag har ingen aning om varför du får synonymfelet. Men det är mycket kod för något som borde vara en enda DELETE-sats. Jag antar att du har ändrat det till commit-every-n för att undvika återställningsfel. Det skulle vara trevligt om du kunde få din DBA att öka ångra utrymmet så att du faktiskt kan göra det arbete du behöver göra. Om det misslyckas tror jag att du fortfarande kan göra det mycket enklare:

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;

Och du kan kasta din logik för att försöka igen om du vill.

Ber om ursäkt om jag har missat någon subtilitet som gör det här annorlunda än vad du gör.



  1. Skapa en databas i SQL Server (T-SQL)

  2. Hur får man enstaka kolumnvärden med MySQLi?

  3. NHibernate.Mapping undantag. Ingen persister för Namespace.className

  4. Oracle ORA-12154-fel på lokal IIS, men inte med Visual Studio Development Server