如何在雪花用户定义函数中编写动态查询 [英] How to write dynamic queries in snowflake user defined functions
本文介绍了如何在雪花用户定义函数中编写动态查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在用雪花编写以下函数。
create OR REPLACE function myTestFunc(tbl_name VARCHAR, Column_Name varchar, id VARCHAR)
returns varchar
as
$$
select Column_Name from tbl_name WHERE Column_Name=id
$$
;
如何将表名和列名作为输入参数传递,并在查询中将这些参数用作表名和列名。在这里,参数被视为字符串文字,而不是表名或列名。有什么方法可以在用户定义的函数中实现这一点吗?
谢谢
sql
要正确设置预期,您需要了解关于Snowflake UDF的一件基本事情-它不是真正意义上的编程语言意义上的函数,而更像是在推荐答案执行时展开的一段sql代码。因此,在运行SQL时,在那里使用的所有UDF都会被它们的实际代码替换,然后它就会运行。
这对使用UDF能做什么和不能做什么有一些限制,而动态查询是从这个角度看UDF时没有意义的事情之一。
正如Gokhan上面所说-使用动态查询的正确方式是Snowflake过程
这篇关于如何在雪花用户定义函数中编写动态查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文