W przypadku SQL-Server istnieją dwa typowe podejścia do tego. Trzecia opcja której należy unikać jest przekazanie varchar i połącz go w dynamiczną instrukcję SQL z IN - jest to wyraźna powierzchnia ataku wtrysku.
Rozsądne opcje:
-
przekaż
varchari użyj UDF, aby podzielić dane na ograniczniku (jak w tym pytaniu ), być może przecinek, kreska, tabulator itp. Połącz z wynikiem:SELECT something, anotherthing FROM atable a INNER JOIN dbo.SplitUDF(@values) udf ON udf.Value = a.something - użyj parametru wycenianego w tabeli (SQL2008) i dołącz bezpośrednio (unikaj UDF)