Řešení, které často používám...
Dodejte svůj seznam čísel jako VARCHAR(MAX)
řetězec oddělený čárkou, pak použijte jeden z mnoha dbo.fn_split()
funkce, které lidé napsali online.
Jeden z mnoha příklady online... SQL-User-Defined-Function-to-Parse-a-Delimited-Str
Tyto funkce berou řetězec jako parametr a vracejí tabulku.
Pak můžete dělat věci jako...
INSERT INTO @temp SELECT * FROM dbo.split(@myList)
SELECT
*
FROM
myTable
INNER JOIN
dbo.split(@myList) AS list
ON list.id = myTable.id
Alternativou je podívat se do Table Valued Parameters. Ty umožňují předat celou tabulku do uložené procedury jako parametr. Jak závisí na frameworku, který používáte. Jste v .NET, Java, Ruby atd. a jak komunikujete s databází?
Jakmile budeme vědět více podrobností o kódu vaší aplikace, můžeme vám ukázat kód klienta i šablonu uložené procedury SQL pro použití parametrů tabulky.