Решение, което използвам много...
Предоставете вашия списък с числа като VARCHAR(MAX)
разделен със запетая низ, след което използвайте един от многото dbo.fn_split()
функции, които хората са написали онлайн.
Един от много примери онлайн... SQL-дефинирана-от-потребител-функция-за-разбор на-разделена-Str
Тези функции приемат низ като параметър и връщат таблица.
Тогава можете да правите неща като...
INSERT INTO @temp SELECT * FROM dbo.split(@myList)
SELECT
*
FROM
myTable
INNER JOIN
dbo.split(@myList) AS list
ON list.id = myTable.id
Алтернатива е да разгледате стойностните параметри на таблицата. Те ви позволяват да предадете цяла таблица в съхранена процедура като параметър. Как зависи от рамката, която използвате. Използвате ли .NET, Java, Ruby и т.н. и как комуникирате с базата данни?
След като научим повече подробности за кода на вашето приложение, можем да ви покажем както клиентския код, така и шаблона на SQL съхранена процедура за използване на параметри със стойност на таблица.