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

masalah menggunakan parameter Oracle di SELECT IN

Untuk meneruskan satu set nilai, Anda perlu menggunakan tabel atau tipe array Oracle.

Pada awalnya, Anda membuat jenis tabel (misalnya untuk NOMOR):

CREATE TYPE number_table AS TABLE OF NUMBER; 

Saat Anda membuat parameter untuk kueri, nyatakan sebagai array PL/SQL asosiatif:

OracleParameter param1 = new OracleParameter(); 
param1.OracleDbType = OracleDbType.Int32; 
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray; 

Kemudian tetapkan beberapa nilai:

param1 = new int[] { 3857, 3858, 3863, 3285 }; 

Dan kueri Anda membutuhkan pemeran:

SELECT * FROM tablename a 
where a.flokkurid in (TABLE(CAST(:manyNumbers AS number_table)))
order by sjodategund, rodun 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menduplikasi catatan untuk mengisi celah antar tanggal

  2. Cara Mengambil Data dari Kursor di Oracle Menggunakan For Loop

  3. 4 Contoh Blok Anonim PL/SQL

  4. Apa perbedaan antara variabel ikat dan variabel substitusi (yang saya masukkan menggunakan &&)?

  5. Oracle:apakah ada alasan logis untuk tidak menggunakan eksekusi paralel dengan subquery dalam daftar SELECT?