Bonjour,
j'ai un soucis depuis hier et je ne trouve rien sur le net pour regler mon probleme, j'espere que qq'un ici saura me repondre.
J'ai ecris la fonction suivante
Les variables strNombre, strLettre et strWeekDay contiennent bien les string suivantes: "3,5,9,6,7,8", "''B'',''S'',''C'',''H'',''L''", et "''THU'',''TUE'',''FRI'',''MON'',''WED'',''SAT'',''SUN''"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE OR REPLACE FUNCTION calculateAggSum (integer, text, text) RETURNS float AS' DECLARE res float; strNombre text; strLettre text; strWeekDay text; BEGIN strNombre := removeLastChar(nombreGetLeaves($1)); strLettre := removeLastChar(lettreGetLeaves($2)); strWeekDay := removeLastChar(weekDayGetLeaves($3)); res := (SELECT SUM(f.f_data) FROM nombre n, lettre l, weekDay w, fact f WHERE f.f_nombre=n.child AND f.f_lettre=l.child AND f.f_day=w.child AND n.child IN (strNombre) AND l.child IN (strLettre) AND w.child IN (strWeekDay)); RETURN res; END; ' LANGUAGE 'plpgsql';
La fonction renvoie bien une valeur lorsque j'enleve les filtres utilisant les variables, mais des que je mets une variable, elle ne renvoie plus rien.
Je suppose qu'elle ne remplace donc pas les variables par leur valeur. Ou alors elle les remplace mal. Vous pouvez voir sur mon copier coller ci-dessus que les string sont entourees de double quote.
Est-ce que quelqu'un a deja eu ce probleme et peut me proposer une solution ? Meme une parade je suis preneur.
Merci,
Cyril
Partager