Re: Error near delete in plpgsql function

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Error near delete in plpgsql function
Дата
Msg-id 7994.1307377014@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Error near delete in plpgsql function  (Saqib Ilyas <msaqib@gmail.com>)
Список pgsql-novice
Saqib Ilyas <msaqib@gmail.com> writes:
> Hi folks
> I have the following function in a file called deletescript.sql.

> CREATE OR REPLACE FUNCTION delete_items() RETURNS integer AS '
> DECLARE
>     m RECORD;
>     n RECORD;
> BEGIN
>     FOR m in SELECT item_id from ITEM where owning_colletion=37 LOOP
>         FOR n in SELECT workflow_id from workflowitem where collection_id=37
> and item_id=m.item_id LOOP
>             delete from tasklistitem where workflow_id=n.workflow_id;
>         END LOOP
>         delete from workflowitem where collection_id=37 and
> item_id=m.item_id;
>     END LOOP;
>     delete from item where owning_collection=37;
>     return 1;
> END;
> ' LANGUAGE plpgsql;

> I started psql and loaded the script using \i deletescript.sql. Then I
> called the function using select delete_items(); I get the following error:

> ERROR:  syntax error at or near "delete"
> CONTEXT:  compile of PL/pgSQL function "delete_items" near line 9
> ERROR:  syntax error at or near "delete"
> CONTEXT:  compile of PL/pgSQL function "delete_items" near line 9

> Any idea why this happened?

You forgot to put a semicolon after the first END LOOP.

            regards, tom lane

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

Предыдущее
От: Alan Hodgson
Дата:
Сообщение: Re: Error near delete in plpgsql function
Следующее
От: Andreas Kretschmer
Дата:
Сообщение: Re: Error near delete in plpgsql function