sql >> Databasteknik >  >> RDS >> Oracle

Skicka en array som värde i en ado.net DBParameter

För SQL-Server finns det två vanliga tillvägagångssätt för detta. Det tredje alternativet att undvikas är att skicka in en varchar och sammanfoga den till en dynamisk SQL-sats med IN - detta är en tydlig injektionsattackyta.

Rimliga alternativ:

  • skicka in en varchar och använd en UDF för att dela upp data på en avgränsare (som i den här frågan ), kanske kommatecken, pipe, tab, etc. Gå med i resultatet:

    SELECT something, anotherthing
    FROM atable a
    INNER JOIN dbo.SplitUDF(@values) udf
            ON udf.Value = a.something
    
  • använd en tabellvärderad-parameter (SQL2008) och gå med direkt (undvik UDF)


  1. Att få OperationalError:FATAL:ledsen, för många klienter använder redan psycopg2

  2. IN-sats i mysql nodejs

  3. PostgreSQL - Installera JDBC-drivrutinen

  4. * Okänt fält på:databas Menade du?:- statistik - server - loggning - DROPWIZARD