Merlin Moncure wrote:
On 1/13/09, Christian Schröder <c...@deriva.de> wrote:
Hi list,
 I have written a function that returns a setof record. The function has a
table name as a parameter and the resulting records have the same structure
as this table. Is there any easy way to specify this when I call the
function? If the table has many columns then it's annoying to specify all of
them.
 I need something like:
   select * from myfunc('mytable') as x(like mytable)
 or
   select * from myfunc('mytable') as x(mytable%TYPE)

 Is there any solution for PostgreSQL 8.2?

Unfortunately to the best of my knowledge there is no way to do this.
 I think what you want is to have sql functions that specialize on
type in the way that templates do in C++.
That would certainly be the best solution, but I would also be happy with some syntactic sugar: The function may still be declared as returning a set of records, so that I would still have to declare their actual return type in the query. However, I would like to have an easy way to express: "the record will have the same structure as table x".

Regards,
   Christian

--
Deriva GmbH                         Tel.: +49 551 489500-42
Financial IT and Consulting         Fax:  +49 551 489500-91
Hans-Böckler-Straße 2                  http://www.deriva.de
D-37079 Göttingen

Deriva CA Certificate: http://www.deriva.de/deriva-ca.cer


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to