Re: Out parameters handling
От | Pavel Stehule |
---|---|
Тема | Re: Out parameters handling |
Дата | |
Msg-id | 162867790903072209o4ff3f80ie974beb96e709fa2@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Out parameters handling (Dimitri Fontaine <dfontaine@hi-media.com>) |
Список | pgsql-hackers |
2009/3/7 Dimitri Fontaine <dfontaine@hi-media.com>: > In fact, maybe a new option to set the OUT parameters prefix to use from > within the function body would do? > > Le 7 mars 09 à 19:56, Dimitri Fontaine a écrit : >> >> CREATE OR REPLACE FUNCTION test_out >> ( >> IN a integer, >> IN b integer, >> OUT s integer >> ) >> RETURNS setof integer > > SET out_prefix TO 'v_' -1 this is out of PL languages. There is not well enough solved access to table out variables. Actually these variables are same as out variables, but internally we should distinct between. For example: PL/pgPSM don't declare it as variables - so there isn't possible any conflict. fragment of plpgpsm code create or replace function test_out(a int, b int) returns table (s int) as $$ return table(select s from some) $$ language plpgpsm is correct. regards Pavel Stehule >> LANGUAGE PLPGSQL >> AS $f$ > > Those two following lines would be deprecated: > >> DECLARE >> v_s ALIAS FOR $3; > > >> BEGIN >> FOR v_s IN SELECT generate_series(a, b) >> LOOP >> v_s := v_s * v_s; >> RETURN NEXT; >> END LOOP; >> RETURN; >> END; >> $f$; >> >> CREATE FUNCTION >> dim=# SELECT * FROM test_out(2, 4); >> s >> ---- >> 4 >> 9 >> 16 >> (3 rows) > > -- > dim > > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers >
В списке pgsql-hackers по дате отправления: