Re: type record et psql

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

In response to

Browse pgsql-fr-generale by date

  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