Op 26 Aug 2003 (12:38), schreef Robert Treat <[EMAIL PROTECTED]>: > On Tue, 2003-08-26 at 07:28, Jules Alberts wrote: > > Hello everyone, > > > > I'm working on a tiny trigger function that needs to ensure that all > > values entered in a field are lowercase'd. I can't use pl/pgsql > > because I have a dozen different columns (with different names) that > > need a trigger that does this and pl'pgsql can't expand variable names > > to fieldnames. Writing a dozen functions (one per columnname) is /way/ > > too blunt so I tried pl/tcl (which I don't know):
<bad attempt snipped> > You'll need a function a bit more complex than this, but to do what your > trying to do in the function above the function would be written as: > > create or replace function my_lowercase() returns trigger as ' > set NEW($1) [string tolower $NEW($1)] > return [array get NEW]' language 'pltcl'; > > Hope this helps, please post the final results when you get there. Hi Robert, It works great, thanks a lot! There is one little issue though: when I insert null values, the function fails. I think I can work around this by giving the columns a default value of '' in my table design, but I would like a more defensive approach, I.E. having my_lowercase() check for null values. Thanks again for any help, and sorry if I'm asking basic TCL questions, I don't know the language. Do you happen to know a good site where the language is explained? All I googled was about creating widgets, GUI stuff :-( > Robert Treat ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match