sql >> Database >  >> RDS >> Oracle

Geef een lijst met gehele getallen door van C# naar de opgeslagen procedure van Oracle

Met Oracle kunt u reeksen waarden doorgeven als parameters. Door te lenen van deze SO-vraag en deze kun je een INT_ARRAY . definiëren typ als volgt:

create or replace type CHAR_ARRAY as table of INTEGER;

Definieer vervolgens uw opgeslagen procedure als:

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

U kunt de zoeklijst vervolgens doorgeven door de eigenschap OracleParameter.CollectionType als volgt in te stellen:

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


  1. Onverwachte geclusterde indexfragmentatie

  2. bbPress:Hoe vind je toewijzingen van bijlagen bij hun respectievelijke berichten

  3. Voeg snel 2 miljoen rijen in SQL Server in

  4. Kan geen verbinding maken met postgres vanaf een externe host