Rozwiązanie, którego często używam...
Podaj swoją listę liczb jako VARCHAR(MAX)
ciąg rozdzielany przecinkami, a następnie użyj jednego z wielu dbo.fn_split()
funkcje, które ludzie napisali online.
Jeden z wielu przykłady online... SQL-Zdefiniowana-Funkcja-do-przeanalizowania-Stregu-Rozdzielanego-
Funkcje te przyjmują jako parametr ciąg znaków i zwracają tabelę.
Wtedy możesz robić takie rzeczy jak...
INSERT INTO @temp SELECT * FROM dbo.split(@myList)
SELECT
*
FROM
myTable
INNER JOIN
dbo.split(@myList) AS list
ON list.id = myTable.id
Alternatywą jest przyjrzenie się parametrom o wartościach w tabeli. Umożliwiają one przekazanie całej tabeli do procedury składowanej jako parametr. Jak zależy od frameworka, którego używasz. Czy korzystasz z .NET, Java, Ruby itp. i jak komunikujesz się z bazą danych?
Gdy dowiemy się więcej szczegółów na temat kodu aplikacji, możemy pokazać zarówno kod klienta, jak i szablon procedury składowanej SQL w celu korzystania z parametrów o wartościach tabeli.