Nigel Horne schrieb:
On Mon, 2005-08-22 at 14:49, Tino Wildenhain wrote:
Nigel Horne schrieb:
On Fri, 2005-08-19 at 16:34, A. Kretschmer wrote:
am 19.08.2005, um 15:58:20 +0100 mailte Nigel Horne folgendes:
I can't work out from that how to return more than one value.
17:35 < rtfm_please> For information about srf
17:35 < rtfm_please> see http://techdocs.postgresql.org/guides/SetReturningFunctions
17:35 < rtfm_please> or http://www.postgresql.org/docs/current/static/xfunc-sql.html#AEN28835
How does that help with my problem? I seems to discuss returning more
than one row of a table which is not the question I asked.
try to tell your questions more precisely :-)
I want to return more than one value from a procedure, e.g. a string and
an integer.
I think you want to return a record or tabletype.
Not really, since those values could be computed on the fly, they may
not be values in a database.
IIrc you got the answers to that already :-)
Nope.
Well, I was sure. And here it is again (from Tom Lane: )
--- cite ---
You've misunderstood this completely. We are not storing anything
essential in the table, we're just using its rowtype to describe the
function's composite-type result.
Personally I would have written the example using a composite type
to make this more clear:
CREATE TYPE test_func_type AS (id int, name text);
CREATE FUNCTION test_func() RETURNS SETOF test_func_type AS $$
SELECT 1, 'me' UNION ALL SELECT 2, 'you'
$$ LANGUAGE sql;
select * from test_func();
id | name
----+------
1 | me
2 | you
(2 rows)
--- cite ---
When this isnt what you want, you are out of options I fear.
Maybe you would write an example of how your hypotetical
function should act?
Regards
Tino
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings