parameter in trigger function - Mailing list pgsql-general

From Jules Alberts
Subject parameter in trigger function
Date
Msg-id 20030815144648.F0FC41CB1C1@koshin.dsl.systemec.nl
Whole thread Raw
Responses Re: parameter in trigger function  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: parameter in trigger function  (Jan Wieck <JanWieck@Yahoo.com>)
List pgsql-general
Hello everyone,

Several columns in sereval tables in my DB should always be lowercase.
I now have a simple function:

create or replace function code_lower() returns trigger as '
begin
    NEW.code := lower(NEW.code);
    return NEW;
end'
language 'plpgsql';

which I call with a trigger like this:

create trigger my_trigger
    before insert or update on my_table
    execute procedure code_lower();

This will successfully lower() a field named 'code' in the table
'mytable' or any other table to which I point it. But some of my tables
have fields which should be lower()ed that have names other than
'code'. Writing a function for every of these field seems stupid, so I
tried to give the trigger arguments. Code like this

NEW.$1 := lower(NEW.$1)

won't work, all I get is error messages :-( The doc says this should be
OK (http://www.postgresql.org/docs/7.3/static/triggers.html) but Google
mostly says the opposite. Is this possible at all? How do I read the
TriggerData structure from whithin a pl/pgsql function?

TIA!

pgsql-general by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: tsearch2 in 7.4beta1 compile problem
Next
From: Stephan Szabo
Date:
Subject: Re: importing db as text files