[TSQL] variable à utiliser pour une liste de paramètre
Bonjour à tous !
Je ne sais pas bien comment nommer mon post pour mon problème actuel...
Mon problème est simple, bien qu'il ne soit pas très souvent utilisé. J'ai une procédure stockée pour traiter des enregistrements. Ceux-ci sont passés en paramètre, jusqu'à maintenant avec deux limites "de" "à". Désormais, les enregistrements ne sont plus contigus mais il me faut passer une liste pour faire un "WHERE IN (ma liste)". Comment faire cela ? Quel est le type à passer à ma SP pour qu'elle accèpte de faire cela ??? 8O
Voici un petit exemple pour être plus clair :oops:
--Ma SP
CREATE PROCEDURE test
@InVal varchar(10)
AS
SELECT INT_Nom,INT_Prenom FROM Intervenant WHERE INT_Numero IN (@InVal)
GO
--utilisation de la SP
DECLARE @liste varchar(10)
SET @liste='10,15,25,50'
EXEC test @liste
--erreur à l'exécution : Erreur de syntaxe lors de la conversion de la valeur varchar '10,15,25,5' vers une colonne de type de données int
L'erreur est logique, mais comment faire pour que cela fonctionne ??
Merci d'avance,
pem