>       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

Reply via email to