Re: Need help with plpgsql function.
От | Pavel Stehule |
---|---|
Тема | Re: Need help with plpgsql function. |
Дата | |
Msg-id | AANLkTim9teaJy-zwh2fJ3KADCxD0_JRJVstPVkM96uax@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Need help with plpgsql function. (Adrian Klaver <adrian.klaver@gmail.com>) |
Список | pgsql-sql |
2010/11/14 Adrian Klaver <adrian.klaver@gmail.com>: > On Saturday 13 November 2010 11:15:51 pm Pavel Stehule wrote: > >> > } >> >> Hello >> >> you can use a RETURN QUERY statement - some like >> >> CREATE OR REPLACE FUNCTION foo(IN i int, OUT a int, OUT b int) >> RETURNS SETOF RECORD AS $$ >> BEGIN >> IF i = 1 THEN >> RETURN QUERY SELECT 10,20 UNION ALL SELECT 30,40; >> ELSE >> RETURN QUERY SELECT 60,70 UNION ALL SELECT 80,90; >> END IF; >> RETURN; >> END; >> $$ LANGUAGE plpgsql; >> >> SELECT * FROM foo(1); >> SELECT * FROM foo(2); >> >> Regards >> >> Pavel Stehule >> > > FYI the OP is using 8.2 :) RETURN QUERY is 8.3+ sorry :) then RETURN QUERY query --> DECLARE r record; BEGIN FOR r IN SELECT .... RETURN NEXT r; END FOR; ... Regards Pavel Stehule > > -- > Adrian Klaver > adrian.klaver@gmail.com >
В списке pgsql-sql по дате отправления: