> begin
> IF OLD.status <> NEW.status
> THEN
> NEW.statchangedate = CURRENT_DATE;
> END IF;
> return NEW;
> end;
>
> The problem is when a new row is inserted I get this error message:
> ERROR: record old is unassigned yet
> ... and the insert fails.
>
> It doesn't matter if the trigger is before or after.
OLD doesn't exist on inserts, only on update and delete. If you want to use
the same function for both insert and update use the TG_OP variable and an
if statement. See
http://www.postgresql.org/idocs/index.php?plpgsql-trigger.html
Hope this helps,
Joe