Re: plpgsql: Is ELSE IF supported or not?

From: "Marko Kreen" <markokr(at)gmail(dot)com>
To: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
Cc: "Postgres Hackers" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: plpgsql: Is ELSE IF supported or not?
Date: 2008-06-26 11:29:21
Message-ID: e51f66da0806260429x2274c036s3dfe0863e7f71bee@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 6/26/08, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
> 2008/6/26 Marko Kreen <markokr(at)gmail(dot)com>:
> > Docs seems to say it is, but following function fails to compile:
> >
> > create function err_else() returns void as $$
> > begin
> > if 1 = 1 then
> > else if 1 = 2 then
> > end if;
> > end;
> > $$ language plpgsql;
> >
> > ERROR: syntax error at or near ";"
> > LINE 6: end;
>
> use elseif or elsif :)

Yeah, I know. Just the docs say this is one "form" of the IF statement:

IF ... THEN ... ELSE IF

Although now that i read it more, the actual "form" is:

ELSE
IF THEN
END IF
END IF;

That is - the ELSE starts new block unconditionally and ignores any IF
that follows. Later the IF can be part of new block as usual. Huh.

This is confusing. I suggest removing the "ELSE IF" as one of the "forms"
because it is not.

--
marko

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2008-06-26 11:32:05 Re: plpgsql: Is ELSE IF supported or not?
Previous Message Pavel Stehule 2008-06-26 11:14:05 Re: plpgsql: Is ELSE IF supported or not?