using CURSORS within a function

Started by SunMie Wonover 24 years ago1 messagesgeneral
Jump to latest
#1SunMie Won
sunmiewon@yahoo.com

Any tips on how to use a cursor within a function?
Does the DECLARE come after the BEGIN ( as all the
documentation suggests) or in the typical place for
declarations (after AS and before BEGIN). I have tried
both places and when running the function, get the
following error:

ERROR: parse error at or near CURSOR

Below is the syntax for my function:
CREATE FUNCTION "fnc_testcursor"("int4") RETURNS
"int4" AS
'DECLARE c_seating CURSOR FOR SELECT id_seat FROM
tbl_seating WHERE id_order = 0;
BEGIN FETCH 1 FROM c_seating;
CLOSE c_seating;
END;'
LANGUAGE 'plpgsql';

OR version 2:

CREATE FUNCTION "fnc_testcursor"("int4") RETURNS
"int4"
AS
'
BEGIN
DECLARE c_seating CURSOR FOR SELECT id_seat FROM
tbl_seating WHERE id_order = 0;
FETCH 1 FROM c_seating;
CLOSE c_seating;
END;'
LANGUAGE 'plpgsql';

Both functions return the same error when called.
Thanks in advance-
SunMie Won

__________________________________________________
Do You Yahoo!?
Find the one for you at Yahoo! Personals
http://personals.yahoo.com