在表中输入数据时运行小脚本

Posted

技术标签:

【中文标题】在表中输入数据时运行小脚本【英文标题】:Running small scripts upon data entry in a table 【发布时间】:2021-05-03 16:41:02 【问题描述】:

我在雪花文档的任何地方都没有找到此信息,所以我决定在这里询问。 当雪花表中有新数据条目时,我的用例要求我运行一个小脚本。我知道雪花支持 SQL 任务,但我的要求更数学化,我需要一个合适的脚本来解决它。我对脚本的语言很灵活,但我想知道这个工作流程是否有持续集成。

我知道运行托管在某个云平台上的按需实例的替代解决方案,但我想知道在 Snowflake 托管仓库中是否可以执行类似的操作。

不胜感激。提前致谢。

【问题讨论】:

如何导入数据?为什么任务和流在这种情况下不起作用? @FelipeHoffa 我想我只是迷失在文档中。 Francesco 的回答告诉我使用相同想法的程序,这很清楚。任务和流将为我解决这个问题。谢谢! 【参考方案1】:

您可以使用 Steam 和任务实现您的目标:

    在您的表上创建一个流(APPEND_ONLY = TRUE 可能,因为您只需要搜索新条目); 创建一个Stored Procedure(从今天起您需要用 javascript 编写它),它使用 Stream 并执行您需要的计算; 创建一个计划为每 1 分钟运行一次的任务,并且仅当流不为空 (SYSTEM$STREAM_HAS_DATA('<stream_name>')) 时才会在 (2) 处运行存储过程

【讨论】:

这将解决我的用例。仅 JS 的限制很烦人,但我想我至少可以基于此开始。非常感谢!

以上是关于在表中输入数据时运行小脚本的主要内容,如果未能解决你的问题,请参考以下文章

在表创建脚本中使用变量

Oracle表中数据如何能够显示出特殊字符"•"?求知道!

RDS下执行SQL小脚本

创建第二个 Toplevel 小部件时,线程 Tkinter 脚本崩溃

正则表达式--小脚本(对输入内容进行处理)

小程序遇坑