Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Excluir linhas correspondentes à substring com LIKE?


Acabei de replicar seu problema e recebi o mesmo erro - parece que a função não pode funcionar de dentro de uma instrução DELETE. O texto completo do erro é:
ORA-04091: table HOU.LONGTABLE is mutating, trigger/function may not see it
ORA-06512: at "TONY.SEARCH_LONG", line 4

Esta abordagem processual funcionará:
begin
  for r in (select id from longtable 
            where search_long(rowid) like '%hello%')
  loop
    delete longtable where id = r.id;
  end loop;
end;