Re: Stored Procedure Record Updates using For Loops - Postgres 8.1
От | Bartosz Dmytrak |
---|---|
Тема | Re: Stored Procedure Record Updates using For Loops - Postgres 8.1 |
Дата | |
Msg-id | CAD8_UcbGKzPATXvNBFwYYmXXwBZN9tU54KmAG7Ez6OUVmOS+fQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Stored Procedure Record Updates using For Loops - Postgres 8.1 ("Lummis, Patrick J" <PJL@dolby.com>) |
Ответы |
Re: Stored Procedure Record Updates using For Loops - Postgres 8.1
|
Список | pgsql-general |
Regards,
Bartek
Hi,
I'm trying to update a record within a for loop and at the point of updating I get the following syntax error:
ERROR: syntax error at or near "$1"
LINE 1: update $1 set wfstatus='failed'
^
QUERY: update $1 set wfstatus='failed'
CONTEXT: SQL statement in PL/PgSQL function "workorder_status_integrity_check" near line 13********** Error **********
ERROR: syntax error at or near "$1"
SQL state: 42601
Context: SQL statement in PL/PgSQL function "workorder_status_integrity_check" near line 13Below is the procedure in question using Postgres 8.1:
CREATE OR REPLACE FUNCTION workorder_status_integrity_check() RETURNS integer AS $$
DECLARE
workorderRecord workorder%ROWTYPE;
declare counter int DEFAULT 0;
BEGIN
FOR workorderRecord IN SELECT * from workorder LOOP
IF workorderRecord.wfstatus = 'canceled' THEN
counter = counter +1;
ELSEIF workorderRecord.wfstatus = 'finished' THEN
counter = counter +1;
ELSE
update workorderRecord set wfstatus='failed';
END IF;
END LOOP;
RETURN counter;
END;
$$ LANGUAGE plpgsql;Thanks, Patrick
В списке pgsql-general по дате отправления: