function with multiple return values
От | Scott Serr |
---|---|
Тема | function with multiple return values |
Дата | |
Msg-id | 4CD658A9.10706@theserrs.net обсуждение исходный текст |
Ответы |
Re: function with multiple return values
|
Список | pgsql-general |
I've created the following function: CREATE OR REPLACE FUNCTION latest ( lot_id int4, condition text, OUT perc smallint, OUT entry_date date ) RETURNS SETOF record AS ' BEGIN RETURN QUERY SELECT t1.perc, t1.entry_date FROM t1, t2 WHERE t1.condition_id=t2.id and t1.lot_id = $1 and t2.code = $2 ORDER BY entry_date DESC LIMIT 1; END; ' language 'plpgsql' VOLATILE; It works for this: select (latest(38787,'IP')).* returning perc and entry_date each in it's own column. Problem is: select (latest(38787,'IP')).*, (latest(38787,'FI')).*; returns 4 columns: perc, entry_date, perc, entry_date Tried: select perc as p1, perc as perc2 from ( select (latest(38787,'IP')).*, (latest(38787,'FI')).* ) as foo; just to see -- it says perc is ambiguous... well yes it is! :) Ideas on how to uniquely name the first and second set of "perc, entry_date"? Or maybe there is a different way to return 2 values from a function? Thanks, Scott
В списке pgsql-general по дате отправления: