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

Oracle SQL:Cara menggunakan lebih dari 1000 item di dalam klausa IN

Cara yang disarankan untuk menangani ini di Oracle adalah dengan membuat Tabel Sementara, tulis nilainya ke dalam tabel ini, lalu gabungkan ke tabel ini. Menggunakan IN yang dibuat secara dinamis klausa berarti pengoptimal kueri melakukan 'penguraian keras' untuk setiap kueri.

create global temporary table LOOKUP
(
    ID NUMBER
) on commit delete rows;

-- Do a batch insert from your application to populate this table
insert into lookup(id) values (?)

-- join to it
select foo from bar where code in (select id from lookup)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Referensi tabel dalam skema lain yang menghilangkan nama skema

  2. Sisipkan Oracle jika baris tidak ada

  3. Program PL/SQL untuk Mencetak Detail Karyawan

  4. Pengecualian Java Oracle - jumlah maksimum ekspresi dalam daftar adalah 1000

  5. C# - Cara mendapatkan nilai tipe mentah oracle long