Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Przekaż listę liczb całkowitych z C# do procedury składowanej Oracle

Oracle umożliwia przekazywanie tablic wartości jako parametrów. Zapożyczając się z tego pytania SO i tego możesz zdefiniować INT_ARRAY wpisz tak:

create or replace type CHAR_ARRAY as table of INTEGER;

Następnie zdefiniuj procedurę składowaną jako:

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

Następnie możesz przekazać listę wartości, ustawiając właściwość OracleParameter.CollectionType w następujący sposób:

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. przekazanie nazwy tabeli jako parametru plsql

  2. Jak zainstalować bazę danych Oracle w systemie Windows

  3. OracleParameter i klauzula IN

  4. Nowe terminy bezpłatnych egzaminów certyfikacyjnych w Oracle Cloud i Autonomous Database

  5. Uzyskiwanie uchwytu do natywnego połączenia Oracle w Hibernate 4 w celu uruchomienia przechowywanego procesu