Не споменахте вашата версия на PostgreSQL, което е много важно, когато пишете отговори на въпроси като този.
Ако използвате PostgreSQL 9.0 или по-нова версия (или можете да надстроите), можете да използвате този подход, както е документиран от Павел:
http://okbob.blogspot.com /2009/10/dynamic-access-to-record-fields-in.html
Като цяло, това, което искате, е да препратите към динамично наименувано поле в PL/PgSQL променлива с тип запис като „НОВО“ или „СТАРО“. В миналото това е било досадно трудно и все още е неудобно, но поне е възможно в 9.0.
Вашата друга алтернатива - която може да е по-проста - е да напишете вашите тригери за проверка в plperlu, където препратките към динамични полета са тривиални.