Передача имен столбцов динамически для переменной записи в PostgreSQL

Используя PostgreSQL, значения столбцов из таблицы для первой записи сохраняются в переменной записи. например: пусть переменная будет:recordvar

recordvar.columnname

дает значение указанного имени столбца. Я определюcolumname в переменной:

var := columnname

На местеcolumnname если я заменю на переменную, т.е.recordvar.var, это не работает.

Пожалуйста, дайте мне знать, как действовать в этой ситуации. Ниже приведен пример кода:

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;

Ответы на вопрос(1)

Ваш ответ на вопрос