Bonjour,
Peux t'on utiliser l'opérateur IN avec une variable ?
si oui comment ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from toto where nom IN @LISTE
Bonjour,
Peux t'on utiliser l'opérateur IN avec une variable ?
si oui comment ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from toto where nom IN @LISTE
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Bonjour,
Cela dépend de la version de SQL Server que vous utilisez.
Si vous utilisez la version 2008, il est possible de passer des tables en paramètre à une procédure stockée.
Si vous utilisez la version 2005, vous devez avoir @LISTE de type VARCHAR avec une longueur relative à la quantité de données à stocker, et les séparer par des virgules, par exemple.
Ainsi, à l'intérieur de votre procédure stockée, vous pouvez utiliser une expression de table commune pour découper votre chaine et la "transformer" en une vue volatile.
Vous réalisez alors la jointure sur celle-ci.
Sous SQL Server 2000, vous devez avoir, comme sous SQL Server 2005, @LISTE de type VARCHAR, et vous avez deux solutions :
- dans votre procédure stockée, découpez votre chaîne en stockant chaque élément de celle-ci dans une variable table, et réaliser la jointure sur celle-ci,
- créer une fonction-table UDF qui découpe votre chaîne et vous retourne la table correspondante, puis spécifier la jointure directement sur celle-ci.
Vous pouvez aussi implémenter ces deux dernières solutions dans SQL Server 2005.
A+![]()
Bonjour et merci pour cette réponse,
j'ai trouvé une méthode qui convient pour mon besoin :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 DECLARE @p VARCHAR(50) SET @p = 'ALFKI,LILAS,PERIC,HUNGC,SAVEA,SPLIR,LONEP,GROSR' SELECT CustomerID, ContactName, CompanyName FROM Northwind.dbo.Customers WHERE CHARINDEX( ',' + CustomerID + ',', ',' + @p + ',' ) > 0
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Partager