Bonjour,
Je cherche à passer une collection de valeurs à une procédure stocké mysql.
un exemple tout simple, voila une procédure (qui ne sert a rien, juste pour l'example) :
lors de l'appel, "param" vaut "5,7,3". Or mysql exécute bien la requête, sauf qu'il ne prend en compte que la première valeur de "param" et le count me renvoie 1 au lieu de 3.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 create procedure test (param varchar(255),out test INT) SQL security invoker begin SET NAMES 'latin1'; select count(*) into test from toto where tutu in (param); end;
On dirais qu'il s'arrête à la première virgule. J'ai fais pas mal de recherche, et je n'ai pas trouver de paramètre de type Array comme en postgresql entre autre. Bien évidement je ne peut pas séparé les variable et construire le in avec, car le nombre de valeur est dynamique.
Y'a t'il un moyen pour utiliser une série de valeurs séparé par des virgules en paramètre d'une procédure ? ou y'a t'il un autre moyen qu'un VARCHAR pour passé une collection de valeurs ?
Merci
Partager