Bonjour,

J'ai une table avec plusieurs lignes, je cherche à faire une fonction qui me renvoi un résultat du genre:

ligne1.champ1 : ligne1.champ2 ; ligne2.champ1 : ligne2.champ2 ; etc...

Pour cela j'ai fait:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
declare stats text;
declare row RECORD;
begin
   for row in select valeur, etat from toto loop
      stats := row.valeur || ':' || row.etat || ';' || stats;
   end loop;
   return stats;
end;
Hors cela me renvoi NULL, si je remplace par:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
stats := row.valeur || ':' || row.etat || ';';
J'ai bien la dernière ligne de ma table.

D'ou vient mon erreur ?

Cordialement.