Bạn đã không đề cập đến phiên bản PostgreSQL của mình, điều này rất quan trọng khi viết câu trả lời cho những câu hỏi như thế này.
Nếu bạn đang chạy PostgreSQL 9.0 hoặc mới hơn (hoặc có thể nâng cấp), bạn có thể sử dụng phương pháp này theo tài liệu của Pavel:
http://okbob.blogspot.com /2009/10/dynamic-access-to-record-fields-in.html
Nói chung, những gì bạn muốn là tham chiếu đến một trường được đặt tên động trong biến PL / PgSQL được nhập bản ghi như 'MỚI' hoặc 'CŨ'. Điều này trong lịch sử đã khó một cách khó chịu và vẫn còn khó xử nhưng ít nhất là có thể xảy ra trong phiên bản 9.0.
Phương pháp thay thế khác của bạn - có thể đơn giản hơn - là viết trình kích hoạt kiểm tra của bạn bằng plperlu, nơi các tham chiếu trường động là không đáng kể.