sql >> Databáze >  >> RDS >> Oracle

ORA-01775:smyčkový řetězec synonym, ale žádná synonyma neexistují

Nechápu, proč se vám zobrazuje chyba synonym. Ale to je hodně kódu pro něco, co by mělo být jedním příkazem DELETE. Předpokládám, že jste to změnili na commit-every-n, abyste se vyhnuli chybám vrácení. Bylo by hezké, kdybyste mohli přimět svůj DBA ke zvětšení prostoru pro vrácení zpět, abyste mohli skutečně dělat práci, kterou musíte udělat. Pokud se tak nestane, myslím, že to můžete ještě mnohem zjednodušit:

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;

A pokud chcete, můžete to obejít logikou opakování.

Omlouvám se, pokud jsem přehlédl nějakou jemnost, která to odlišuje od toho, co děláte.



  1. PHP Calculate Number of downline v binárním stromu

  2. psql - uložit výsledky příkazu do souboru

  3. Databáze Oracle:Jak číst BLOB?

  4. php kód pro vytváření dynamických řádků a vkládání do databáze