On Friday 18 Jul 2003 9:22 am, Terence Kearns wrote:
I'm writing a trigger which wants to reference the pre-defined NEW record.
I can do this idval := NEW.blah;
This works fine!!!
What I really need to do is idval := NEW.(quote_ident(TG_ARGV[3])); or this idval := NEW.(TG_ARGV[3]);
I'll give you the short answer - no you can't do this (in plpgsql). Which isn't to say it'll never be possible, but not at the moment.
Can you afford to look at an alternative language? I'd suggest looking at TCL, although I must admit I've never used it myself.
damn. There's realy no other way for me to access the value since the trigger function will be called from different relations.
I tried idval := (''NEW.'' || TG_ARGV[3]); but recieved ERROR: pf_atoi: error in "NEW.blah": can't parse "NEW.blah"
Oh well, can't win them all :/
Well I suppose I could try TCL. The problem is that there is little to no documentation on postgres stored procedures in TCL and I've never even seen the language before. None the less, I'll look into it. It's almost worth it. If that fails, I may even try perl <shudders>. if that files, I will try to get --with-python to configure (which it's refusing to do at the moment even though I have a working installation).
-- Terence Kearns ~ ph: +61 2 6201 5516 IT Database/Applications Developer Enterprise Information Systems Client Services Division University of Canberra www.canberra.edu.au
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster