Mark Mielke <mark@mark.mielke.cc> writes:
> I don't agree with this statement. In "all procedural languages", or
> probably most, they usually make "ELSE IF" special, in that you don't
> need to close the block twice as per above. The ELSE IF is not actually
> special in PL/SQL, so it is not a special form. The "ELSE" can contain a
> block, which contain any statement, including a nested IF statement. Why
> not describe ELSE WHILE as well based upon the logic that ELSE IF is
> valid? :-)
> Now, if it were to say "an alternative form of ELSEIF is to nest IF
> statement like so:" ...
Yeah, that might be better. I think the reason the text looks the way
it does is that we didn't have ELSEIF/ELSIF to start out with, and what
is now section 38.6.2.3 was originally an example of what you had to do
to work around that lack. I agree that the current presentation is more
confusing than anything else. ISTM documenting ELSEIF and ELSIF as
"separate forms" of IF is a bit over-the-top too.
regards, tom lane