Search Postgresql Archives

Re: stored procedure: RETURNS record

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 25 Sep 2009, at 18:34, InterRob wrote:

Unfortunately, this results in ONE row, with ONE column. E.g.:

MYDB=# select * from (SELECT deserialize(kvp) FROM kvp) ss;
 deserialize
-----------
 (1,2)
(1 row)

I guess I am seeking to prototype the anonymous row layout in the above SQL statement?


I'm not entirely sure about the syntax in your case, but I think you're looking for:

MYDB=# select * from (SELECT deserialize(kvp) FROM kvp) ss (a int, b int);

If that doesn't work, it's based on how you normally select from a record-returning function, namely:
MYDB=# SELECT * FROM deserialize('some string') AS ss (a int, b int);

You may need to call it like this though:
MYDB=# select * from (SELECT (deserialize(kvp)).a, (deserialize (kvp)).b FROM kvp) ss (a int, b int);

In that case your function better not be volatile or it will be evaluated twice.

Alban Hertroys

--
If you can't see the forest for the trees,
cut the trees and you'll see there is no forest.


!DSPAM:737,4abd04ce11682030514312!



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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux