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

PL / SQL - Cách sử dụng một mảng trong Mệnh đề IN

Để sử dụng tập hợp được định nghĩa là một bảng lồng nhau hoặc một mảng kết hợp trong from mệnh đề của một truy vấn mà bạn nên, như @Alex Poole đã chỉ ra một cách chính xác, hãy tạo một loại cấp lược đồ (SQL) hoặc sử dụng một loại có sẵn cho bạn ODCIConst gói - odcidatelist khi bạn định sử dụng danh sách ngày tháng. Ví dụ:định nghĩa con trỏ của bạn có thể trông giống như sau:

cursor DataCursor_Sort(p_brth_dt in sys.odcidatelist) is
  select *
    from sourceTable 
   where a.brth_dt IN (select column_value 
                         from table(p_brth_dt))

HOẶC

cursor DataCursor_Sort(p_brth_dt in sys.odcidatelist) is
  select s.*
    from sourceTable      s
    join table(p_brth_dt) t
      on (s.brth_dt = t.column_value)

Lưu ý:Bạn nên cân nhắc phần thời gian của ngày khi thực hiện so sánh ngày. Nếu bạn chỉ muốn so sánh phần ngày tháng, có lẽ sẽ hữu ích nếu bạn loại bỏ phần thời gian bằng cách sử dụng trunc() hàm số.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đặt thủ công Chuỗi kết nối Oracle trong DbContext

  2. Khôi phục tệp trình soạn thảo SQL (Truy vấn, thủ tục) Sau khi bắt cóc đối với sự cố hoặc treo Oracle

  3. Tiếp tục Chèn trong Oracle khi ngoại lệ được nâng lên

  4. Tạo Trigger chạy trên hai bảng

  5. Tập tin jar ojdbc ở đâu