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
r...@iol.ie
Galway Cathedral Recitals: http://www.galwaycathedral.org/recitals
------------------------------------------------------------------


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to