За SQL-Server има два общи подхода за това. Третият вариант, койтотрябва да се избягва е да се предаде varchar и го свържете в динамичен SQL оператор с IN - това е ясна повърхност за атака на инжектиране.
Разумни опции:
-
подайте
varcharи използвайте UDF, за да разделите данните на разделител (като в този въпрос ), може би запетая, тръба, табулатор и т.н. Присъединете се към резултата:SELECT something, anotherthing FROM atable a INNER JOIN dbo.SplitUDF(@values) udf ON udf.Value = a.something - използвайте table-valued-parameter (SQL2008) и се присъединете директно (избягвайте UDF)