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

Usunąć wiersze pasujące do podciągu z LIKE?

Właśnie zreplikowałem twój problem i otrzymałem ten sam błąd — wygląda na to, że funkcja nie może działać z poziomu instrukcji DELETE. Pełny tekst błędu to:

ORA-04091: table HOU.LONGTABLE is mutating, trigger/function may not see it
ORA-06512: at "TONY.SEARCH_LONG", line 4

To podejście proceduralne zadziała:

begin
  for r in (select id from longtable 
            where search_long(rowid) like '%hello%')
  loop
    delete longtable where id = r.id;
  end loop;
end;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uruchomić plik wsadowy z procedury PL/SQL?

  2. Jak dowiedzieć się, czy dotację Select otrzymuje się bezpośrednio, czy poprzez rolę?

  3. Jak napisać ramkę danych pandy do bazy danych Oracle za pomocą to_sql?

  4. KLUCZ OBCY PRZY USUWANIU BŁĘDU OGRANICZENIA — Oracle

  5. SQL*Plus :Wymuś zwrócenie kodu błędu