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

Chuyển danh sách các số nguyên từ C # vào quy trình được lưu trữ của Oracle

Oracle cho phép bạn chuyển các mảng giá trị dưới dạng tham số. Mượn từ câu hỏi SO này và câu hỏi này, bạn có thể xác định một INT_ARRAY gõ như thế này:

create or replace type CHAR_ARRAY as table of INTEGER;

Sau đó, xác định thủ tục được lưu trữ của bạn là:

CREATE OR REPLACE PROCEDURE product_search(
        ...
        myIds IN CHAR_ARRAY,
        ...)
AS  
    SELECT ...
    ...
    WHERE SomeIdField IN (Select column_value FROM TABLE(myIds))
    ...

Sau đó, bạn có thể chuyển danh sách các giá trị bằng cách đặt thuộc tính OracleParameter.CollectionType như sau:

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


  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ản dịch Microsoft T-SQL sang Oracle SQL

  2. Oracle XML:Nút Bỏ qua Không tồn tại

  3. nhận một số giá trị duy nhất mà không cần phân tách các giá trị thuộc cùng một khối giá trị

  4. Nhận Giờ địa phương hiện tại của bất kỳ quốc gia nào trong PL / SQL

  5. Cách lấy dữ liệu hai cột ở định dạng A, B trong Oracle