Re: Function Issue!

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Function Issue!
Дата
Msg-id 6771.1092879369@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Function Issue!  (Theo Galanakis <Theo.Galanakis@lonelyplanet.com.au>)
Список pgsql-sql
Theo Galanakis <Theo.Galanakis@lonelyplanet.com.au> 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


В списке pgsql-sql по дате отправления:

Предыдущее
От: Theo Galanakis
Дата:
Сообщение: Function Issue!
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: multi column foreign key for implicitly unique columns