Re: Problème de concatenation

Lists: pgsql-fr-generale
From: philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be>
To: postgresql <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Problème de concatenation
Date: 2008-09-23 12:50:38
Message-ID: 1222174239.10027.1.camel@ibm1
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

Bonjour à toutes et tous,

dans une fonction declenchée par un trigger j'ai 3 variables vA, vB &
vC.
On y effectue un calcul du style :
vA := vB - vC;

puis, on souhaite inserer vA dans une table :
strquerry = 'INSERT INTO table_name (resultat, fieldA) VALUES (1, ' ||
vA || ')';
EXECUTE strquerry;

ce qui me donne :
cannot EXECUTE a null querrystring

Pourtant, d'après ceci, la syntaxe paraît correcte
http://www.postgresql.org/docs/8.3/static/functions-string.html#FUNCTIONS-STRING-SQL

Une idée?

Merci d'avance.


From: "Ludovic Levesque" <luddic(at)gmail(dot)com>
To: "philippe dhondt" <philippe(dot)dhondt(at)tele2(dot)be>
Cc: postgresql <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Problème de concatenation
Date: 2008-09-23 12:56:50
Message-ID: 162718d40809230556y7a8fbd75q41b09f93c1f251a1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

Bonjour,

je pense que vA est quelque fois NULL et donc strquerry aussi:
SELECT NULL || ' test';
?column?
----------
[null]

Ludo

2008/9/23 philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be>:
> Bonjour à toutes et tous,
>
> dans une fonction declenchée par un trigger j'ai 3 variables vA, vB &
> vC.
> On y effectue un calcul du style :
> vA := vB - vC;
>
> puis, on souhaite inserer vA dans une table :
> strquerry = 'INSERT INTO table_name (resultat, fieldA) VALUES (1, ' ||
> vA || ')';
> EXECUTE strquerry;
>
> ce qui me donne :
> cannot EXECUTE a null querrystring
>
> Pourtant, d'après ceci, la syntaxe paraît correcte
> http://www.postgresql.org/docs/8.3/static/functions-string.html#FUNCTIONS-STRING-SQL
>
> Une idée?
>
> Merci d'avance.
>
>
>
> --
> Sent via pgsql-fr-generale mailing list (pgsql-fr-generale(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-fr-generale
>


From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be>
Cc: postgresql <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Problème de concatenation
Date: 2008-09-23 12:58:59
Message-ID: 48D8E813.6070503@lelarge.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

Bonjour,

philippe dhondt a écrit :
> [...]
> dans une fonction declenchée par un trigger j'ai 3 variables vA, vB &
> vC.
> On y effectue un calcul du style :
> vA := vB - vC;
>
> puis, on souhaite inserer vA dans une table :
> strquerry = 'INSERT INTO table_name (resultat, fieldA) VALUES (1, ' ||
> vA || ')';
> EXECUTE strquerry;
>
> ce qui me donne :
> cannot EXECUTE a null querrystring
>
> Pourtant, d'après ceci, la syntaxe paraît correcte
> http://www.postgresql.org/docs/8.3/static/functions-string.html#FUNCTIONS-STRING-SQL
>
> Une idée?
>

Ce n'est pas un problème de syntaxe. Le message d'erreur indique que la
chaîne donnée à EXECUTE est NULL. Vu comment la chaîne est construite,
on en déduit rapidement que vA est NULL. Et donc que vB ou vC est NULL.

--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com


From: philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be>
To: Ludovic Levesque <luddic(at)gmail(dot)com>
Cc: postgresql <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Problème de concatenation
Date: 2008-09-23 13:26:47
Message-ID: 1222176407.10027.3.camel@ibm1
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale


Bien vu !

le premier enregistrement envoyé contenait bel et bien un NULL.

Merci à tous et bonne après-midi.

Philippe

Le mardi 23 septembre 2008 à 14:56 +0200, Ludovic Levesque a écrit :
> Bonjour,
>
> je pense que vA est quelque fois NULL et donc strquerry aussi:
> SELECT NULL || ' test';
> ?column?
> ----------
> [null]
>
> Ludo
>
>
> 2008/9/23 philippe dhondt <philippe(dot)dhondt(at)tele2(dot)be>:
> > Bonjour à toutes et tous,
> >
> > dans une fonction declenchée par un trigger j'ai 3 variables vA, vB &
> > vC.
> > On y effectue un calcul du style :
> > vA := vB - vC;
> >
> > puis, on souhaite inserer vA dans une table :
> > strquerry = 'INSERT INTO table_name (resultat, fieldA) VALUES (1, ' ||
> > vA || ')';
> > EXECUTE strquerry;
> >
> > ce qui me donne :
> > cannot EXECUTE a null querrystring
> >
> > Pourtant, d'après ceci, la syntaxe paraît correcte
> > http://www.postgresql.org/docs/8.3/static/functions-string.html#FUNCTIONS-STRING-SQL
> >
> > Une idée?
> >
> > Merci d'avance.
> >
> >
> >
> > --
> > Sent via pgsql-fr-generale mailing list (pgsql-fr-generale(at)postgresql(dot)org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgsql-fr-generale
> >