Passando nomes de coluna dinamicamente para uma variável de registro no PostgreSQL

Usando o PostgreSQL, os valores das colunas de uma tabela para o primeiro registro são armazenados em uma variável de registro. por ex: deixe a variável ser:recordvar

recordvar.columnname

fornece o valor do nome da coluna especificado. Vou definir ocolumname em uma variável:

var := columnname

No lugar decolumnname se eu substituir com a variável, ou seja,recordvar.var, Não está funcionando.

Por favor, deixe-me saber como proceder nesta situação. A seguir está o código de amostra:

CREATE OR REPLACE FUNCTION getrowdata(id numeric, table_name character varying)
RETURNS SETOF void AS
$BODY$ 
DECLARE

srowdata record;
reqfield character varying;
value numeric;


BEGIN

RAISE NOTICE 'id: %',id; 
reqfield:= 'columnname';

EXECUTE 'select * from datas.'||table_name||' WHERE id = '||id into srowdata;

RAISE NOTICE 'srowdata: %',srowdata; 

RAISE NOTICE 'srowdatadata.columnname: %',srowdata.columnname;

value:= srowdata.reqfield;

RAISE NOTICE 'value: %',value;


END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;

questionAnswers(1)

yourAnswerToTheQuestion