Je me demandais comment je peux passer une liste délimitée par des virgules ArrayList, List <int
> ou StringBuilder à une procédure stockée de sorte que je trouve une liste d'ID en utilisant IN():SQL Server (2008) Passer ArrayList ou chaîne à SP pour IN()
@myList varchar(50)
SELECT *
FROM tbl
WHERE Id IN (@myList)
En C# Je construis actuellement la liste sous la forme d'une chaîne délimitée par des virgules; cependant en utilisant nvarchar (50) par exemple, comme type pour le param dans la procédure stockée - j'obtiens une erreur car il ne peut pas convertir '1,2,3' en int ce qu'il attend entre les IN().
Des idées? Très appréciée.
Pete
J'ai mis les identifiants de l'appel de fonction dans une variable de table au cas où vous devriez utiliser ces valeurs à plus d'un endroit dans votre procédure stockée, vous devez seulement appeler la fonction une fois –