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 по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Need help with plpgsql function.
Следующее
От: Andreas
Дата:
Сообщение: multi table import from 1 denormalized source table