我正在尝试以动态方式设置“select .. from”查询中的列名称。所以我创建了一个函数来返回列的名称,并尝试在选择查询中使用它。
函数是这个:
CREATE OR REPLACE FUNCTION get_column_name(iddoc int, campo text) RETURNS text
AS $$
#print_strict_params on
DECLARE
campoid text;
BEGIN
SELECT campo_id INTO STRICT campoid
FROM campos_td c
JOIN (SELECT field4, field3
FROM frm7
WHERE iddocumento = iddoc) f ON c.tema_id = f.field3
RETURN 'field10' || campoid;
END
$$ LANGUAGE plpgsql;
我试过类似的东西:
SELECT get_column_name(2, 'Size') FROM frm7
SELECT f.get_column_name(2, 'Size') FROM frm7 as f
但它们都不起作用。
最佳答案
pgsql EXECUTE
command允许您运行任意 SQL 字符串,特别是您使用在运行时传入的列名构建的字符串。
关于sql - PostgreSQL - 使用函数命名选择查询中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54430713/