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

Lewati daftar bilangan bulat dari C # ke dalam prosedur tersimpan Oracle

Oracle memungkinkan Anda untuk melewatkan array nilai sebagai parameter. Meminjam dari pertanyaan SO ini dan yang ini Anda dapat mendefinisikan INT_ARRAY ketik seperti ini:

create or replace type CHAR_ARRAY as table of INTEGER;

Kemudian tentukan prosedur tersimpan Anda sebagai:

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

Anda kemudian dapat meneruskan daftar nilai dengan menyetel properti OracleParameter.CollectionType seperti ini:

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. Oracle 11g - Periksa batasan dengan RegEx

  2. Menyiapkan lingkungan pengembangan untuk mempelajari PL/SQL

  3. Bagaimana saya bisa mencantumkan SEMUA hibah yang diterima pengguna?

  4. ubah tabel ubah kolom di database Oracle

  5. Bagaimana cara menyimpan karakter tanpa batas di Oracle 11g?