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 13 Below 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