sql >> Database >  >> RDS >> Oracle

Geef een array door als waarde in een ado.net DBP-parameter

Voor SQL-Server zijn er twee algemene benaderingen hiervoor. De derde optie te vermijden is door te geven in een varchar en voeg het samen tot een dynamisch SQL-statement met IN - dit is een duidelijk injectie-aanvalsoppervlak.

Redelijke opties:

  • geef een varchar door en gebruik een UDF om de gegevens op een scheidingsteken te splitsen (vind ik leuk in deze vraag ), misschien komma, pijp, tab, etc. Voeg toe aan het resultaat:

    SELECT something, anotherthing
    FROM atable a
    INNER JOIN dbo.SplitUDF(@values) udf
            ON udf.Value = a.something
    
  • gebruik een tabelwaardeparameter (SQL2008) en doe direct mee (vermijd de UDF)


  1. Fout:ORA-00955:naam wordt al gebruikt door een bestaand object in Oracle Function

  2. PLSql-retourwaarden

  3. mysql oledb-stuurprogramma

  4. Hoe kan ik met PDO een lijst met MySQL-databases in PHP krijgen?