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;