sql >> Databasteknik >  >> RDS >> Oracle

Ta bort rader som matchar delsträngen med LIKE?

Jag replikerade precis ditt problem och fick samma fel - det verkar som om funktionen inte kan fungera inifrån en DELETE-sats. Hela feltexten är:

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

Det här förfarandet kommer att fungera:

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. INFOGA i DB DateTime-sträng

  2. Implementering av föreningstabeller

  3. Hur lagrar man en pandas dataram med dataobjekt av typen datetime.timedelta i en postgresql d/b med hjälp av sqlalchemy?

  4. Maximal längd på ett tabellnamn i MySQL