Een oplossing die ik veel gebruik...
Geef uw lijst met nummers op als een VARCHAR(MAX)
door komma's gescheiden tekenreeks en gebruik vervolgens een van de vele dbo.fn_split()
functies die mensen online hebben geschreven.
Een van de vele voorbeelden online... SQL-User-Defined-Function-to-Parse-a-Delimited-Str
Deze functies nemen een string als parameter, en retourneren een tabel.
Dan kun je dingen doen als...
INSERT INTO @temp SELECT * FROM dbo.split(@myList)
SELECT
*
FROM
myTable
INNER JOIN
dbo.split(@myList) AS list
ON list.id = myTable.id
Een alternatief is om naar tabelwaarden te kijken. Hiermee kunt u een hele tabel als parameter doorgeven aan een opgeslagen procedure. Hoe hangt af van het framework dat je gebruikt. Ben je in .NET, Java, Ruby, etc, en hoe communiceer je met de database?
Zodra we meer details over uw toepassingscode weten, kunnen we u zowel de clientcode als de sjabloon voor de opgeslagen SQL-procedure tonen voor het gebruik van tabelwaardenparameters.