Используя PostgreSQL, значения столбцов из таблицы для первой записи сохраняются в переменной записи. для ex: пусть переменная be: recordvar
recordvar.columnname
задает значение указанного имени столбца. Я определяю columname
в переменной:
var := columnname
Вместо columnname
, если заменить переменную i.e. 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;