sql >> Base de Datos >  >> RDS >> Oracle

¿Eliminar filas que coincidan con la subcadena con LIKE?

Acabo de replicar su problema y obtuve el mismo error:parece que la función no puede funcionar desde una instrucción DELETE. El texto completo del error es:

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

Este enfoque procedimental 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;