Search Postgresql Archives

Dynamic access to record columns (in PL/pgsql)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

I have a trigger procedure which I want to be called after insert or update on different tables. In this procedure, I need to find the values of key fields for the affected table in the NEW record, but I can't find a way to access a field the name of which I only know at execution time. I tried many workarounds, for example this:

fieldname := name of key field;
EXECUTE 'SELECT NEW.'||fieldname INTO fieldvalue;

But none of them worked. I found a one-year-old thread about this kind of dynamic access, which proposed a syntax like this: NEW.(fieldname), but this hasn't be implemented in the current version and, apparently, no different methods where suggested. Can anybody suggest me how to do that? Right now I can only think of programmatically generating one different procedure for every table I want to track (there are 42), but this would be very clunky solution.

Thanks for your time

Daniele Mazzini


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux