Thread: Accessing field of OLD in trigger
Hi, I'm working on a row level plpgsql trigger running after delete, using a 8.0.3 server. It gets a parameter which is a field name of the OLD record. How can that field be accessed? I'd like to do something like: for recvar in 'select OLD.'||quote_ident(TG_ARGV[0])... Daniel Ps: sorry about my previouse try of posting this message, it went to wrong place.
On Fri, 12 Oct 2007 12:00:55 +0200 (CEST) Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu> wrote: > Hi, > > > I'm working on a row level plpgsql trigger running after delete, > using a 8.0.3 server. It gets a parameter which is a field name of > the OLD record. How can that field be accessed? > > I'd like to do something like: > > for recvar in 'select OLD.'||quote_ident(TG_ARGV[0])... I THINK you are out of luck here. I hear it's possible to do but in one of the other PL languages say pl/tcl, though I can't seem to find an example.... Josh
On Oct 12, 2007, at 8:18 AM, Josh Trutwin wrote: > On Fri, 12 Oct 2007 12:00:55 +0200 (CEST) > Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu> wrote: > >> Hi, >> >> >> I'm working on a row level plpgsql trigger running after delete, >> using a 8.0.3 server. It gets a parameter which is a field name of >> the OLD record. How can that field be accessed? >> >> I'd like to do something like: >> >> for recvar in 'select OLD.'||quote_ident(TG_ARGV[0])... > > I THINK you are out of luck here. I hear it's possible to do but in > one of the other PL languages say pl/tcl, though I can't seem to find > an example.... Right, "dynamic variables" aren't available in plpgsql. Check out any of the other pl languages available if you can. Erik Jones Software Developer | Emma® erik@myemma.com 800.595.4401 or 615.292.5888 615.292.0777 (fax) Emma helps organizations everywhere communicate & market in style. Visit us online at http://www.myemma.com