Vous n'êtes pas identifié(e).

#1 08/06/2010 16:39:42

clem
Membre

Concatenation à la suite d'une variable

Bonjour,

Est-il possible de faire quelque chose comme ça en PL/pgSQL ?

res := 'une super chaine de caractères';
res := res || 'encore plus de caractères';


Parce que j'ai un bug sur une fonction et je ne vois pas d'où ça peut venir d'autre.

Merci d'avance pour ceux qui pourront me répondre.

Hors ligne

#2 08/06/2010 16:48:34

Marc Cousin
Membre

Re : Concatenation à la suite d'une variable

avec un quote à la fin du deuxième encore plus de caractères, oui.


Marc.

Hors ligne

#3 08/06/2010 16:50:41

clem
Membre

Re : Concatenation à la suite d'une variable

Il y en a un. Le bloc plus complet est le suivant:
CREATE OR REPLACE FUNCTION fct(categ integer) RETURNS void AS $$
DECLARE
    res TEXT;
BEGIN
res := 'une super chaine de caractères';
res := res || 'encore plus de caractères';
...

Le type TEXT est-il bien choisi ici ? Sinon que faut-il préférer ?

Hors ligne

#4 08/06/2010 21:18:59

gleu
Administrateur

Re : Concatenation à la suite d'une variable

Le type TEXT est bien choisi. Voici ce que ça me donne :

b1=# CREATE OR REPLACE FUNCTION fct(categ integer) RETURNS text AS $$
DECLARE
    res TEXT;
BEGIN
res := 'une super chaine de caractères';
res := res || 'encore plus de caractères';
RETURN res;
END;
$$ LANGUAGE plpgsql;
CREATE FUNCTION
b1=# select fct(0);
                           fct                           
---------------------------------------------------------
 une super chaine de caractèresencore plus de caractères
(1 ligne)

b1=# select version();
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 8.4.4 on x86_64-unknown-linux-gnu, compiled by GCC gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 64-bit
(1 ligne)

Guillaume.

Hors ligne

Pied de page des forums