Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL > Débuter
Débuter Forum d'entraide : Débuter en base de données avec PostgreSQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 11h26   #1
Membre régulier
 
Homme
Développeur informatique
Inscription : mai 2002
Messages : 222
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2002
Messages : 222
Points : 90
Points : 90
Envoyer un message via Skype™ à Lovmy
Par défaut Concaténation de résultat

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 :
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 :
stats := row.valeur || ':' || row.etat || ';';
J'ai bien la dernière ligne de ma table.

D'ou vient mon erreur ?

Cordialement.
Lovmy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h37   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 669
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 669
Points : 2 680
Points : 2 680
bonjour,

Essayez ceci :
Code :
1
2
 
SELECT 'toto' || NULL
du coup vous pouvez en déduire que concatener null avec une chaîne de caractère donne .. null !

Donc mettez une valeur par défaut à votre variable valeur, lors de sa déclaration par exemple :
Code :
1
2
 
declare valeur text := '';
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/01/2012, 13h24   #3
Membre régulier
 
Homme
Développeur informatique
Inscription : mai 2002
Messages : 222
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2002
Messages : 222
Points : 90
Points : 90
Envoyer un message via Skype™ à Lovmy
Par défaut Merci c'est bon

Merci de votre réponse, effectivement maintenant ça marche !
Lovmy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h51.


 
 
 
 
Partenaires

Hébergement Web