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

parameter yang dipisahkan koma dalam prosedur tersimpan plsql

Saya khawatir ini tidak akan berhasil:

SELECT * from myTable where name in (inputStr);

Anda dapat menggunakan SQL dinamis, seperti pada jawaban @Bob Jarvis, atau Anda dapat melakukan hal berikut:

SELECT * FROM myTable WHERE REGEXP_LIKE(name, '^(' || REPLACE(inputStr, ',', '|') || ')$');

Kesulitan dengan yang terakhir adalah bahwa, di Oracle, ekspresi reguler dapat memiliki panjang paling banyak 512 byte. Jadi inputStr . Anda akan dibatasi hingga 508 byte (karena kami menambahkan empat byte untuk jangkar dan pengelompokan).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan Entity Framework di .net 4.0 dengan database Oracle - mungkin?

  2. Edit file kontrol di Oracle 10g Release 2

  3. Oracle InvalidOperationException - Saat mencoba memilih dari tabel

  4. Tabel Sementara Global

  5. Bagaimana tanggal disimpan di Oracle?