Robert Landrum <rlandrum@aol.net> writes:
> I'm writing a stored procedure that will execute as a trigger.
> Arguments being passed to the procedure are field names.
> My goal is to convert those field names into the field values. However,
> I've not been successful. I thought that the following should have worked.
> EXECUTE ''field_val := NEW.''||tg_argv[1]||'';'';
> Nor does
> EXECUTE ''SELECT INTO field_val NEW.''||tg_argv[1]||'';'';
> I've tried using open for execute too... No luck.
> Is this possible in pure SQL?
Well, that's not "pure SQL", it's plpgsql ... but the answer is no.
plpgsql can't deal with selection of run-time-specified fields from
its variables. You'd have better luck coding this in one of the other
PL languages.
regards, tom lane