Yes, Raymond - I know how to return record set in function using FOR,
but since version 8.3 there is a option - using RETURN QUERY SELECT
something FROM somewhere;. So if it works for SELECT why should it not
work for EXECUTE ?
Julius Tuskenis
Raymond O'Donnell rašė:
> On 18/12/2008 12:12, Julius Tuskenis wrote:
>
>
>> While experimenting I found that if I wright FOR rec IN EXECUTE 'my sql'
>> LOOP ...... its OK, but If I wright RETURN QUERY EXECUTE 'my sql' I get
>> syntax error. Is it a bug?
>>
>
> No, it's a syntax error. :-)
>
> You need to do something like this to return the rows from the query:
>
> FOR rec in EXECUTE 'your sql here'
> LOOP
> RETURN NEXT rec;
> END LOOP;
>
> RETURN; -- exits from the function.
>
> Ray.
>
>
> ------------------------------------------------------------------
> Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland
> rod@iol.ie
> Galway Cathedral Recitals: http://www.galwaycathedral.org/recitals
> ------------------------------------------------------------------
>
>