Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Hapus baris yang cocok dengan substring dengan LIKE?

Saya baru saja mereplikasi masalah Anda dan mendapatkan kesalahan yang sama - sepertinya fungsinya tidak dapat bekerja dari dalam pernyataan DELETE. Teks lengkap kesalahannya adalah:

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

Pendekatan prosedural ini akan berhasil:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tidak dapat memasukkan bingkai data ke tabel Oracle yang ada

  2. Oracle:Mengembalikan beberapa nilai dalam suatu fungsi

  3. Spring Batch ORA-08177:tidak dapat membuat serial akses untuk transaksi ini saat menjalankan pekerjaan tunggal, tingkat isolasi SERIALIZED

  4. Menyimpan Alamat IP dalam Tabel Oracle SQL

  5. Oracle menyalin data ke tabel lain