sql >> Databasteknik >  >> RDS >> Oracle

Skicka en lista med heltal från C# till Oracles lagrade procedur

Oracle låter dig skicka matriser av värden som parametrar. Genom att låna från den här SO-frågan och den här kan du definiera en INT_ARRAY skriv så här:

create or replace type CHAR_ARRAY as table of INTEGER;

Definiera sedan din lagrade procedur som:

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

Du kan sedan skicka listan med värden genom att ställa in egenskapen OracleParameter.CollectionType så här:

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


  1. Android - SQLite - VÄLJ MELLAN Datum1 OCH Datum2

  2. COT() Exempel i SQL Server

  3. Oracle Data Mining (ODM) – Installation och installation

  4. Hur genererar man automatiskt identitet för en Oracle-databas genom Entity-ramverket?