Bonjour.

Je viens de constater qu'une procédure stockée que je croyais opérationnelle ne l'est probablement pas tant que ça...

Voici le début de ma procédure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
DECLARE
	@ListePrIdParent varchar(200)
 
	set @ListePrIdParent='304,1451'
 
	SELECT count(*)
	   FROM T_LIEN_NS
	   WHERE
1)	       LNS_NS_PR_ID_PARENT_FK IN (@ListePrIdParent)
2)--	     LNS_NS_PR_ID_PARENT_FK IN (304, 1451)
Les lignes 1) et 2) sont des équivalentes que je passe en commentaire alternativement pour tester.

La vrai procedure stockée ne comporte pas la ligne 2), mais la ligne 1). Pourtant, avec les valeurs que j'ai fourni ici, la procédure ne fonctionne qu'avec la ligne 2) et pas avec la ligne 1).

Et voilà ce qu'il me marque :
Erreur de conversion du type de données varchar en numeric.
Ce que je cherche à faire, c'est à lui passer sous forme d'une chaine, la liste à placer après le "IN"... mais apparemment, je n'utilise pas la bonne méthode !

Comment puis-je faire ? Quelqu'un a une idée ?