可以从雪花中的函数调用存储过程吗
Posted
技术标签:
【中文标题】可以从雪花中的函数调用存储过程吗【英文标题】:Can a stored procedure be called from a function in Snowflake 【发布时间】:2020-12-07 22:23:38 【问题描述】:我们有一个要求,其中 select 语句返回的结果应该是动态的,基于执行的 select 查询。因此,我们倾向于在将在 select 语句中使用的函数中调用存储过程的解决方案。
问题是:我们可以从 Snowflake 中的函数调用存储过程吗? 语法是什么?
请分享。
【问题讨论】:
您不能从 UDF 调用存储过程。请参阅使用说明,尤其是这部分“因为调用不能是表达式的一部分”:docs.snowflake.com/en/sql-reference/sql/call.html#usage-notes。根据您的需要,您可以使用用户定义的表函数 (UDTF)。你能详细说明一下吗? 【参考方案1】:我做过类似的事情。虽然不能从 UDF 调用存储过程,但可以从另一个存储过程调用存储过程。
还可以使用任务调用存储过程,并将存储过程的返回值传递给任务,然后将其传递给另一个存储过程调用。
从您的开场评论中,您可能能够使用 javascript 中的 if 语句根据您的规则执行 select 语句来解决您的问题。
您能否提出一个基本的查询示例以及您要做什么?
【讨论】:
以上是关于可以从雪花中的函数调用存储过程吗的主要内容,如果未能解决你的问题,请参考以下文章