On Wed, 13 Jun 2001, F. Masselink wrote:
> Hello,
>
> i've stumbled upon a problem with triggers and functions.
>
> this function doesn't work.
> It gives an error when creating the trigger: set_leentype() does not exist.
>
> CREATE FUNCTION set_leentype (int4) RETURNS opaque AS '
> BEGIN
> NEW.type := $1;
> RETURN NEW;
> END;
> ' LANGUAGE 'plpgsql';
>
> CREATE TRIGGER is_boek
> BEFORE INSERT ON boek
> FOR EACH ROW
> EXECUTE PROCEDURE set_leentype (1);
>
> but if i use the same function and triggers, with the little
> modification that i don't pass a parameter, it works fine!
>
> does anyone know why this is and does anyone know a solution to this. (I
> want to use the code with passing parameters).
Trigger functions take no arguments and return opaque. Arguments given
at create trigger time are passed differently. Read the documentation for
more details.