Using UNION inside a cursor - Mailing list pgsql-sql

From Kumar
Subject Using UNION inside a cursor
Date
Msg-id 007c01c39ec4$5af992f0$7502a8c0@hdsc.com
Whole thread Raw
Responses Re: Using UNION inside a cursor  (Christoph Haller <ch@rodos.fzk.de>)
List pgsql-sql
Dear Friends,
 
I am working on Postgresql 7.3.4 on RH Linux Server 7.3.
 
I have problem in executing the following procedure
 
CREATE OR REPLACE FUNCTION list_history()
  RETURNS refcursor AS
'DECLARE
 ref   REFCURSOR;
BEGIN
 OPEN ref FOR
 (SELECT  * FROM history  WHERE obs_type = \'AA\' )
 UNION
 (SELECT  * FROM  history  WHERE   obs_type = \'TA\');
 
 RETURN ref;
END;'
  LANGUAGE 'plpgsql' VOLATILE;
 
While executing this I got the following error
 
WARNING:  plpgsql: ERROR during compile of list_history near line 5
ERROR:  syntax error at "("
 
While I execute the following code it is working fine and fetches values.
 (SELECT  * FROM history  WHERE obs_type = \'AA\' )
 UNION
 (SELECT  * FROM  history  WHERE   obs_type = \'TA\');
 
Where I am wrong. Please shed some light,
 
Regards
Kumar

pgsql-sql by date:

Previous
From: sad
Date:
Subject: unescaped output of bytea
Next
From: Christoph Haller
Date:
Subject: Re: Using UNION inside a cursor