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!

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to