several reports of users being confused when they attempt to use ELSEIF
and run into trouble due to PL/PgSQL's lax parser. The parser will be
improved for 8.1, but we can fix most of the problem by allowing ELSEIF
for now.
<!--
-$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.51 2004/12/13 18:05:08 petere Exp $
+$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.52 2004/12/17 03:51:34 neilc Exp $
-->
<chapter id="plpgsql">
<para>
<literal>IF</> statements let you execute commands based on
- certain conditions. <application>PL/pgSQL</> has four forms of
+ certain conditions. <application>PL/pgSQL</> has five forms of
<literal>IF</>:
<itemizedlist>
<listitem>
<listitem>
<para><literal>IF ... THEN ... ELSIF ... THEN ... ELSE</></>
</listitem>
+ <listitem>
+ <para><literal>IF ... THEN ... ELSEIF ... THEN ... ELSE</></>
+ </listitem>
</itemizedlist>
</para>
</programlisting>
</para>
</sect3>
+
+ <sect3>
+ <title><literal>IF-THEN-ELSEIF-ELSE</></title>
+
+ <para>
+ <literal>ELSEIF</> is an alias for <literal>ELSIF</>.
+ </para>
</sect2>
<sect2 id="plpgsql-control-structures-loops">
* procedural language
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.37 2004/09/13 01:45:32 neilc Exp $
+ * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.38 2004/12/17 03:51:36 neilc Exp $
*
* This software is copyrighted by Jan Wieck - Hamburg.
*
default { return K_DEFAULT; }
diagnostics { return K_DIAGNOSTICS; }
else { return K_ELSE; }
+elseif { return K_ELSIF; }
elsif { return K_ELSIF; }
end { return K_END; }
exception { return K_EXCEPTION; }