Oracle
 sql >> Base de données >  >> RDS >> Oracle

Supprimer les lignes correspondant à la sous-chaîne avec LIKE ?

Je viens de reproduire votre problème et j'ai la même erreur - il semble que la fonction ne puisse pas fonctionner à partir d'une instruction DELETE. Le texte complet de l'erreur est :

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

Cette approche procédurale fonctionnera :

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