Commit dc1cb4ce authored by Bruce Momjian's avatar Bruce Momjian

Add documentation about the inability of plpsql to use parameter names

that are the same as column names used in the function.
parent 4ebd4224
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.81 2005/12/01 10:36:57 neilc Exp $ $PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.82 2005/12/08 18:02:04 momjian Exp $
--> -->
<chapter id="plpgsql"> <chapter id="plpgsql">
...@@ -3094,6 +3094,15 @@ AFTER INSERT OR UPDATE OR DELETE ON sales_fact ...@@ -3094,6 +3094,15 @@ AFTER INSERT OR UPDATE OR DELETE ON sales_fact
</para> </para>
</listitem> </listitem>
<listitem>
<para>
You cannot use parameter names that are the same as columns
that are referenced in the function. Oracle allows you to do this
if you qualify the parameter name using
<literal>function_name.paramater_name</>.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
You can overload function names in <productname>PostgreSQL</>. This is You can overload function names in <productname>PostgreSQL</>. This is
...@@ -3111,7 +3120,7 @@ AFTER INSERT OR UPDATE OR DELETE ON sales_fact ...@@ -3111,7 +3120,7 @@ AFTER INSERT OR UPDATE OR DELETE ON sales_fact
<listitem> <listitem>
<para> <para>
In <productname>PostgreSQL</> the function body has to be written as In <productname>PostgreSQL</> the function body must be written as
a string literal. Therefore you need to use dollar quoting or escape a string literal. Therefore you need to use dollar quoting or escape
single quotes in the function body. See <xref single quotes in the function body. See <xref
linkend="plpgsql-quote-tips">. linkend="plpgsql-quote-tips">.
...@@ -3128,10 +3137,11 @@ AFTER INSERT OR UPDATE OR DELETE ON sales_fact ...@@ -3128,10 +3137,11 @@ AFTER INSERT OR UPDATE OR DELETE ON sales_fact
<listitem> <listitem>
<para> <para>
Since there are no packages, there are no package-level variables Since there are no packages, there are no package-level variables
either. This is somewhat annoying. You may be able to keep per-session either. This is somewhat annoying. You can keep per-session state
state in temporary tables, instead. in temporary tables instead.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment