From: | "Modern Mexican" <felipe(at)modernmexican(dot)com> |
---|---|
To: | "Richard Huxton" <dev(at)archonet(dot)com> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Untyped result (setof / rowset) from Functions ? |
Date: | 2005-10-05 15:41:48 |
Message-ID: | MPBBJNBFMGDOEMEFADNEOEOOBGAB.felipe@modernmexican.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
thanks for the tip, but it would be nice if PG implemented it like MSSQL
(very simple and straight forward).
Felipe Sandoval
Modern Mexican wrote:
> Is there a technical reason why an untyped result (setof / rowset) from a
> function (sql or plpgsql) is not implemented ?
>
> Something Simple:
>
> CREATE FUNCTION foo(x int) RETURNS SETOF records AS
> 'SELECT t1.*, t2.* FROM t1 INNER JOIN t2 ON t1.a=t2a
> WHERE WHERE t1.id=$1'
> LANGUAGE SQL
>
> So I will not have to create a TYPE every time I return a SETOF JOINED
> tables or a sub-set of the columns of a table.
You can do this, but you have to specify what the type is when you call
it. There needs to be *some* type defined somewhere.
See the manuals - section 7.2.1.4 which gives the following example of
specifying what results you expect from a dblink() call.
SELECT *
FROM dblink('dbname=mydb', 'select proname, prosrc from pg_proc')
AS t1(proname name, prosrc text)
WHERE proname LIKE 'bytea%';
--
Richard Huxton
Archonet Ltd
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2005-10-05 15:51:24 | Re: Securing Postgres |
Previous Message | Lincoln Yeoh | 2005-10-05 15:37:55 | Re: Securing Postgres |