From: | Jean-Paul Argudo <jean-paul(at)argudo(dot)org> |
---|---|
To: | GUEDJ Patrick DSIC BI <Patrick(dot)GUEDJ(at)interieur(dot)gouv(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: type record et psql |
Date: | 2005-06-08 18:42:15 |
Message-ID: | 20050608184215.GA103@maison.argudo.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
> Je souhaite écrire une fonction pl/pgsql qui renvoie à l'utilitaire psql un
> tuple. J'ai donc utilisé le type RECORD en retour de la fonction. La base
> accepte bien la fonction, mais psql indique qu'il ne peut pas afficher une
> valeur de type RECORD.
Un exemple vaut mieux qu'un long discours:
script create.sql:
drop function hello_world (varchar);
create function hello_world (varchar) returns record as $$
declare
result record;
begin
select 'hello '||$1,
'go to sleep its already '::text,
current_time
into result;
return result;
end;
$$ language plpgsql;
select *
from hello_world('jean-paul') as (a text,c text, d time with time zone);
test:
$ psql tests < create.sql
DROP FUNCTION
CREATE FUNCTION
a | c | d
-----------------+--------------------------+--------------------
hello jean-paul | go to sleep its already | 20:41:47.730022+02
(1 row)
Je pense que c'est ce que vous cherchez ?...
La syntaxe du select est un peu curieuse, j'en conviens ;-)
A+
NB: d'excellentes discussions sur la liste ces derniers jours, hélas pas de
temps pour y participer ces jours cis ... Désolé, je réponds dès que je peux.
--
Jean-Paul ARGUDO
www.PostgreSQLFr.org
Trésorier de PostgreSQLFr
OpenPGP : 1024D/93A41CA4
From | Date | Subject | |
---|---|---|---|
Next Message | Stéphane Schildknecht | 2005-06-14 08:05:32 | Appel aux bonnes volontés |
Previous Message | GUEDJ Patrick DSIC BI | 2005-06-08 15:12:04 | type record et psql |