下面是这个UDTF应该是什么样子的示例:
create function select2 (tname varchar, cname varchar)
returns table (value variant)
as $$
SELECT IDENTIFIER(cname) FROM IDENTIFIER(tname)
$$当尝试部署此函数时,它会抛出语法错误异常,抱怨标识符后面的表达式无效。有什么想法吗?
发布于 2020-05-27 04:23:50
UDF不是为创建“动态SQL”而设计的。您可以使用标识符函数,但它应该使用文字调用:
create function select2 (tname varchar, cname varchar)
returns table (value varchar)
as $$
SELECT IDENTIFIER('cname') FROM IDENTIFIER('yourtable')
$$它与普通SQL没有什么不同:
SELECT cname FROM yourtable如果要生成动态SQL,则应使用JavaScript存储过程:
https://stackoverflow.com/questions/62032503
复制相似问题