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
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 |