sql >> Databáze >  >> RDS >> Oracle

Předejte pole jako hodnotu v ado.net DBParameter

Pro SQL-Server existují dva běžné přístupy. Třetí možnost, které je třeba se vyhnout je předat varchar a zřetězit jej do dynamického SQL příkazu s IN - toto je jasná plocha pro útok vstřikováním.

Rozumné možnosti:

  • předat varchar a použijte UDF k rozdělení dat na oddělovač (jako v této otázce ), možná čárka, čárka, tabulátor atd. Připojte se k výsledku:

    SELECT something, anotherthing
    FROM atable a
    INNER JOIN dbo.SplitUDF(@values) udf
            ON udf.Value = a.something
    
  • použijte table-valued-parameter (SQL2008) a připojte se přímo (vyhněte se UDF)


  1. LOAD DATA LOCAL INFILE nefunguje v RDS

  2. MySQL – Efektivní vyhledávání s částečnou shodou slov a skóre relevance (FULLTEXT)

  3. Jak se vyhnout hodnotám 0 pomocí funkce MIN a MAX v SQL?

  4. Jak napsat dotaz v MySQL pro objekty pole JSON