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)