| From: | Alban Hertroys <alban(at)magproductions(dot)nl> |
|---|---|
| To: | Roman Neuhauser <neuhauser(at)chello(dot)cz> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: pl/pgsql trigger: syntax error at or near "ELSEIF" |
| Date: | 2005-01-14 12:27:24 |
| Message-ID: | 41E7BAAC.1080401@magproductions.nl |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
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).
> 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.
Alban Hertroys.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Martijn van Oosterhout | 2005-01-14 12:28:47 | Re: Cursor bug? |
| Previous Message | Pavel Stehule | 2005-01-14 12:26:07 | Re: pl/pgsql trigger: syntax error at or near "ELSEIF" |