Thread: retrieving fields in plpgsql

retrieving fields in plpgsql

From
James Gregory
Date:
Hi all,

I need to be able to get the value of a field in the new record provided
to triggers. The catch is that the name of the variable that I need will
be constructed at run time, it will then be used as part of a dynamic
query. So basically I want

x := "fieldname";
y := new.x;

Can it be done? how?

Thanks,

James.


Re: retrieving fields in plpgsql

From
Tom Lane
Date:
James Gregory <james@anchor.net.au> writes:
> I need to be able to get the value of a field in the new record provided
> to triggers. The catch is that the name of the variable that I need will
> be constructed at run time, it will then be used as part of a dynamic
> query. So basically I want
> x := "fieldname";
> y := new.x;
> Can it be done? how?

I think pltcl can do this.  plpgsql is too eager to precompile things.
Of course, pltcl is a bit slower by the same token (but if you're
desperate for speed, you should be writing the trigger in C ...)

            regards, tom lane