使用迭代返回消息调用多个语句的雪花存储过程

时间:2021-04-07 02:29:46

标签: javascript sql stored-procedures snowflake-cloud-data-platform

我正在尝试在 Snowflake 中创建一个运行 5 个 COPY INTO 命令的存储过程。我目前仅使用 2 个进行测试,以便我可以更好地隔离问题。我希望每个命令都运行并返回“X 很好!”

这是我目前所拥有的。它保存并运行,但只返回一条消息,不运行第二条语句。

"a" | "c"

我已经浏览了这个网站以及许多来源,但找不到使这项工作成功的方法。本网站上的答案也没有帮助。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在大多数编程语言中,函数只能返回一次 - 一旦到达 return x 点,该函数将返回并停止执行之后的任何内容。

因此解决上述问题的最简单方法是不return 'Data1 good to go!'。只需设置一个变量,然后在您准备好 return 'Data2 good to go!' 时返回它。

一个更复杂的替代方法是使用 Snowflake 流和任务——但我还不清楚你想在什么上下文中执行所有这些。如果您提出一个新问题,提供有关您目标的更多详细信息,我们可以找到相关方法。但是对于这个问题:在大多数语言中,一个函数不能返回两次,而且——当然——不是在这里。

https://community.snowflake.com/s/article/Using-Streams-and-Tasks-inside-Snowflake