Steve Wampler <swampler@noao.edu> writes:
> PostgreSQL 6.5.3
> ========================
> appdb=> create function insert_or_update() returns opaque as '
> appdb'> begin
> appdb'> insert into attributes_table values(new.id,new.name,
> appdb'> new.units,new.value);
> appdb'> return NULL;
> appdb'> end;'
> appdb-> language 'plpgsql';
> CREATE
> appdb=> create trigger t before insert on attributes for each row
> appdb-> execute procedure insert_or_update();
> CREATE
> appdb=> insert into attributes values('site','prefix','none','kp');
> NOTICE: plpgsql: ERROR during compile of insert_or_update near line 2
> ERROR: syntax error at or near "in"
> appdb=>
> =========================
> Does anyone see what I've done wrong?
Nothing that I can see. I copied and pasted this trigger into current
sources and it worked fine. Ditto for your other example.
There must be something pretty broken about your copy of plpgsql;
dunno what exactly. I'd recommend updating to 7.0.2 and then seeing
if the problem persists. If it does we can dig deeper.
regards, tom lane