Kev wrote:
> I came across this curious behaviour today, at least in the 2009-03-24
> beta (I can't run a newer beta), that I couldn't find in the docs,
> although maybe I missed it.

[...]

> So while that is the way to create the trigger itself, the
> trigger procedure must be created like this:
> 
>   CREATE OR REPLACE FUNCTION test() RETURNS trigger AS $BODY$
>   my ($a, $b) = @{$_TD->{args}}; # $a and/or $b may be null, depending on how 
> CREATE TRIGGER was used
>   ...

Maybe it is hidden too well, but the documentation states in
http://www.postgresql.org/docs/current/static/plpgsql-trigger.html

   A trigger procedure is created with the CREATE FUNCTION command, declaring it
   as a function with no arguments and a return type of trigger. 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.

Yours,
Laurenz Albe

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to