Re: "function has no parameter $1" - help.

From: Christoph Haller <ch(at)rodos(dot)fzk(dot)de>
To: pgsql-sql(at)postgresql(dot)org
Cc: mweaver(at)corpusglobe(dot)com
Subject: Re: "function has no parameter $1" - help.
Date: 2003-02-07 08:28:50
Message-ID: 3E436E41.ABA852F5@rodos.fzk.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

>
> I'm trying to create a trigger to enforce a constraint onto two
possible
> foreign tables
> my function is defined as:
>
> <-- snip -->
> CREATE OR REPLACE FUNCTION
> sp_check_tranitem_productid(tbl_tranitem.fld_tranitem_id%TYPE,
> tbl_tranitem.fld_tranitem_type%TYPE)
RETURNS
> OPAQUE AS '
> DECLARE
> -------[Parameters]-------
> pl_product_id ALIAS FOR $1;
> pl_product_type ALIAS FOR $2;
> <-- snip -->
>
> but when I call the function I get the error:
>
> function has no parameter $1
>
> What is going wrong?
>
> (I am using PostgreSQL 7.3.1)
>
The documentation says about trigger procedures:

PL/pgSQL can be used to define trigger procedures. A trigger procedure
is created with the CREATE FUNCTION command as a
function with no arguments and a return type of OPAQUE. Note that the
function must be declared with no arguments even if it
expects to receive arguments specified in CREATE TRIGGER --- trigger
arguments are passed via TG_ARGV, as described
below.

Refer to that chapter for an example.

Regards, Christoph

Browse pgsql-sql by date

  From Date Subject
Next Message waimeng 2003-02-07 08:29:38 PostgreSQL 7.3.1 multiple schema select query error: java.sql.SQLException: ERROR: parser: parse error at or near "."
Previous Message betty 2003-02-07 08:26:36 update column with rowtype