Bonjour,
J'essaie d'envoyer le texte d'une clause IN en paramètre d'une fonction. Si je passe une seule valeur ça marche mais à partir de 2 le serveur n'arrive pas à faire le matching.
Si je fais ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE OR REPLACE FUNCTION mafonction(text) RETURNS integer AS $BODY$ DECLARE i bigint; BEGIN select into i count(distinct id) from objects1 where id IN($1); return i; END $BODY$ LANGUAGE 'plpgsql' VOLATILE; ALTER FUNCTION mafonction(text);
Ca me renvoie 1 (c'est bon).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select * from mafonction('202500066668693')
Mais si je fais ça :
Ca me renvoie 0...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select * from mafonction('202500066668693,202500001319972')
C'est sûrement un problème d'interprétation du paramètre mais je ne vois pas comment le résoudre.
Partager