Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

sự cố khi sử dụng các tham số Oracle trong SELECT IN

Để chuyển một bộ giá trị, bạn cần sử dụng kiểu bảng hoặc mảng của Oracle.

Lúc đầu, bạn tạo một loại bảng (ví dụ:cho NUMBER):

CREATE TYPE number_table AS TABLE OF NUMBER; 

Khi bạn tạo tham số cho truy vấn, hãy khai báo nó dưới dạng một mảng PL / SQL liên kết:

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

Sau đó, gán một số giá trị:

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

Và truy vấn của bạn cần truyền:

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. Bảng ALTER &DROP DDL với việc thực thi ngay lập tức trong cơ sở dữ liệu Oracle

  2. FNDCPASS &AFPASSWD

  3. Sự khác biệt giữa oracle DATE và TIMESTAMP

  4. Bộ sưu tập PL / SQL:Bảng lồng nhau trong cơ sở dữ liệu Oracle

  5. Cài đặt để xem phần thời gian với ngày trong nhà phát triển Oracle PL / SQL là gì?