> IF NEW.status_id <> OLD.status_id THEN
> IF new.status_id = 1 THEN
> UPDATE artifact_counts_agg SET open_count=open_count+1 \
> WHERE group_artifact_id=new.group_artifact_id;
> ELSE IF new.status_id = 2 THEN
> UPDATE artifact_counts_agg SET open_count=open_count-1 \
> WHERE group_artifact_id=new.group_artifact_id;
> ELSE IF new.status_id = 3 THEN
> UPDATE artifact_counts_agg SET open_count=open_count-1,count=count-1 \
> WHERE group_artifact_id=new.group_artifact_id;
> END IF;
> END IF;
> END IF;
> RETURN NEW;
It is hard to test this without the table schema, but I think you are
missing some END IF's in the code above. Those are not elif's, but
actual new IF's that need their own END IF, I think.
--
Bruce Momjian | http://candle.pha.pa.us
[EMAIL PROTECTED] | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://www.postgresql.org/search.mpl