Re: plpgsql trigger function with arguments

From: Pavel Stehule <stehule(at)kix(dot)fsv(dot)cvut(dot)cz>
To: "Karl O(dot) Pinc" <kop(at)meme(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: plpgsql trigger function with arguments
Date: 2004-03-03 06:30:03
Message-ID: Pine.LNX.4.44.0403030727080.29099-100000@kix.fsv.cvut.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

hello

You have to write functions without params. Params for triggers are
accessed not via function params, but via special variable TG_ARGV[]

http://archives.postgresql.org/pgsql-general/2002-03/msg01021.php

regards
Pavel Stehule

On Tue, 2 Mar 2004, Karl O. Pinc wrote:

> I'm sure I saw something like this on the postgresql web
> site but the the search function is down in the documentation
> area.
>
> I'm unable to pass a function arguments in a CREATE
> TRIGGER statement.
>
> What am I doing wrong here?
>
> CREATE FUNCTION pregs_func (VARCHAR(15))
> RETURNS trigger
> LANGUAGE plpgsql
> AS '
> DECLARE
> trigger_type ALIAS FOR $1;
>
> BEGIN
> IF trigger_type = ''insert'' THEN
> ...
> END IF;
> END;
> ';
>
> CREATE TRIGGER pregs_insert_trigger
> AFTER INSERT
> ON pregs FOR EACH ROW
> EXECUTE PROCEDURE pregs_func('insert');
>
> CREATE TRIGGER pregs_update_trigger
> AFTER UPDATE
> ON pregs FOR EACH ROW
> EXECUTE PROCEDURE pregs_func('update');
>
> The CREATE TRIGGER statements return:
> ERROR: CreateTrigger: function pregs_func() does not exist
>
>
> I tried doing variations on:
> create trigger pregs_insert_trigger after insert on pregs
> for each row execute procedure
> pregs_func (cast('insert' as varchar(15)));
>
> thinking that I don't have the right function because the
> datatypes don't match, but I get:
> ERROR: parser: parse error at or near "cast" at character 106
>
> PostgreSQL 7.3.
>
> Thanks,
>
> Karl <kop(at)meme(dot)com>
> Free Software: "You don't pay back, you pay forward."
> -- Robert A. Heinlein
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message scrappy 2004-03-03 10:16:33 Hey, ya! =))
Previous Message Paulovič Michal 2004-03-03 05:45:56 Re: Moving from MySQL to PGSQL....some questions (multilevel