Jeśli chodzi o SQL Server 2005, zapoznaj się z doskonałym artykułem Erlanda Sommarskoga o tablicach i listach w SQL Server 2005, który pokazuje kilka technik radzenia sobie z listami i tablicami w SQL Server 2005 (ma też inny artykuł dotyczący SQL Server 2000).
Jeśli możesz uaktualnić do SQL Server 2008, możesz użyć nowej funkcji o nazwie „parametr o wartości tabeli”:
Najpierw utwórz typ tabeli zdefiniowany przez użytkownika
CREATE TYPE dbo.MyUserIDs AS TABLE (UserID INT NOT NULL)
Po drugie, użyj tego typu tabeli w procedurze składowanej jako parametru:
CREATE PROC proc_GetUsers @UserIDTable MyUserIDs READONLY
AS
SELECT * FROM dbo.Users
WHERE userid IN (SELECT UserID FROM @UserIDTable)
Zobacz szczegóły tutaj.
Marek