Re: return two elements
От | Franco Bruno Borghesi |
---|---|
Тема | Re: return two elements |
Дата | |
Msg-id | 000401c56aaa$8d5d8c70$7e00a8c0@Planae2004.local обсуждение исходный текст |
Ответ на | return two elements ("Rodríguez Rodríguez, Pere" <prr@hosppal.es>) |
Список | pgsql-general |
CREATE TYPE MyResult AS (dt_inici DATE,dt_fi DATE );
Then you must change your functions as follows:
CREATE OR REPLACE FUNCTION test1() RETURNS MyResult AS ' declarer MyResult; beginr.dt_inici:=\'01/01/2005\'::Date;r.dt_fi:=\'02/02/2005\'::Date;RETURN r; end; ' LANGUAGE 'plpgsql' VOLATILE; CREATE OR REPLACE FUNCTION test2() RETURNS date AS ' declarer MyResult; beginr:=test1(); RETURN r.dt_inici; end; ' LANGUAGE 'plpgsql' VOLATILE;
To me, using a TYPE seems clearer than using an array in this case.
Hello,
how can I write a function that return two or more elements?
I try to return a record but after I don't know how to assign returned value to a variable. For example,CREATE OR REPLACE FUNCTION test1() RETURNS record AS '
declare
rec record;
begin
select into rec \'01/01/2005\'::Date as dt_inici, \'02/02/2005\'::Date as dt_fi;
return rec;
end; '
LANGUAGE 'plpgsql' VOLATILE;CREATE OR REPLACE FUNCTION test2() RETURNS date AS '
declare
rec record;
begin
-- rec := test1(); << ERROR: syntax error at or near "rec"
select into rec test1();
return rec.dt_inici; << ERROR: record "rec" has no field "dt_inici"
end; '
LANGUAGE 'plpgsql' VOLATILE;Can I return an array?, and how I take returned array?
I search postgres documentation but I don't find itThanks in advance,
pere
В списке pgsql-general по дате отправления: