Snowflake cloud data platform 我们可以在UDTF中使用标识符函数,其参数来自Snowflake中的UDTF参数吗?

Snowflake cloud data platform 我们可以在UDTF中使用标识符函数,其参数来自Snowflake中的UDTF参数吗?,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,下面是一个UDTF的示例: create function select2 (tname varchar, cname varchar) returns table (value variant) as $$ SELECT IDENTIFIER(cname) FROM IDENTIFIER(tname) $$ 当尝试部署此函数时,它抛出一个语法错误异常,抱怨标识符后的表达式无效。 有什么想法吗?UDF不是为创建“动态SQL”而设计的。您可以使用identif

下面是一个UDTF的示例:

create function select2 (tname varchar, cname varchar)
    returns table (value variant)
    as $$
      SELECT IDENTIFIER(cname) FROM IDENTIFIER(tname)
    $$
当尝试部署此函数时,它抛出一个语法错误异常,抱怨标识符后的表达式无效。
有什么想法吗?

UDF不是为创建“动态SQL”而设计的。您可以使用identifier函数,但它应该使用文本调用:

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存储过程:


你知道他们为什么有这么严格的限制吗?