2008/6/26 Marko Kreen <markokr@gmail.com>:
> On 6/26/08, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>> 2008/6/26 Marko Kreen <markokr@gmail.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.
>
this is same in all procedural languages
Pavel
> --
> marko
>