Theo Galanakis <[EMAIL PROTECTED]> writes:
> Can anyone tell me what is wrong with the function below ?
> CREATE OR REPLACE FUNCTION "public"."theo_test2" () RETURNS OPAQUE AS'
> BEGIN
> declare curr_theo cursor for select * from node_names;
> fetch next from curr_theo;
> close curr_theo;
> END;
> 'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY DEFINER;
The DECLARE has to go before the BEGIN:
CREATE OR REPLACE FUNCTION "public"."theo_test2" () RETURNS OPAQUE AS'
DECLARE
curr_theo cursor for select * from node_names;
BEGIN
fetch next from curr_theo;
close curr_theo;
END;
'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY DEFINER;
I think you are missing an OPEN step too, and the FETCH syntax is wrong
for plpgsql. Read the plpgsql doc section about using cursors --- it
is not at all identical to what you do in plain SQL.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly