Re: pl/pgsql trigger: syntax error at or near "ELSEIF" - Mailing list pgsql-general

From Roman Neuhauser
Subject Re: pl/pgsql trigger: syntax error at or near "ELSEIF"
Date
Msg-id 20050114162411.GB11065@isis.wad.cz
Whole thread Raw
In response to Re: pl/pgsql trigger: syntax error at or near "ELSEIF"  (Alban Hertroys <alban@magproductions.nl>)
List pgsql-general
# alban@magproductions.nl / 2005-01-14 13:27:24 +0100:
> Roman Neuhauser wrote:
> >Hello, what is the parser trying to tell me? (7.4.2 if it matters)
> >test'#       ELSEIF TG_OP = ''DELETE'' THEN
>
> You typed ELSEIF, the parser doesn't know what that means (It's either
> ELSIF or ELSE IF).

    Thanks to everyone who pointed this out for me.

> >On a related note: if I replace NEW with OLD in the second UPDATE (in the
> >ELSEIF branch), I get:
> >What's wrong with that?
>
> OLD doesn't exist in INSERT triggers, only in UPDATE and DELETE
> triggers. A record in an INSERT trigger is by definition a new record,
> an old record wouldn't make sense.
>
> IMHO, it would be better to write two or three different triggers (one
> on INSERT, the other on DELETE, and maybe a third on UPDATE) than
> writing a single and trying to figure out which of those three it was in
> the trigger.

    Thanks, going that route indeed solved the problem.

--
If you cc me or remove the list(s) completely I'll most likely ignore
your message.    see http://www.eyrie.org./~eagle/faqs/questions.html

pgsql-general by date:

Previous
From: Eric Dorland
Date:
Subject: Problem Dropping a Database with users connected to it
Next
From: John Sidney-Woollett
Date:
Subject: C locale + unicode