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

Bagaimana cara meneruskan nilai ke operator IN secara dinamis?

Buat jenis koleksi:

CREATE TYPE stringlist IS TABLE OF VARCHAR2(100);
/

Kemudian Anda dapat meneruskannya ke prosedur dan menggunakan MEMBER OF operator (bukan IN operator):

CREATE PROCEDURE Test (
  in_list     IN  stringlist,
  out_results OUT SYS_REFCURSOR
)
IS
BEGIN
  OPEN out_results FOR
  SELECT *
  FROM   your_table
  WHERE  your_column MEMBER OF in_list;
END;
/

Jika Anda menghubungkan dari bahasa eksternal maka Anda dapat dengan mudah meneruskan array ke prosedur (contoh Java) atau Anda dapat membuat daftar dalam PL/SQL atau dari daftar yang dibatasi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri rekursif SQL pada tabel referensi mandiri (Oracle)

  2. ruang kosong terkemuka yang tidak diinginkan pada format nomor Oracle

  3. Dapatkan jumlah semua tabel dalam skema

  4. jar jdbc apa yang digunakan dengan oracle 11g &jdk 1.6 dan bagaimana menghubungkan ke db itu sendiri

  5. cara memasukkan tanggal saat ini ke dalam bidang TANGGAL dalam format hh/bb/tttt di oracle