具有多个存储过程的任务
Posted
技术标签:
【中文标题】具有多个存储过程的任务【英文标题】:Task with multiple stored procedures 【发布时间】:2021-03-08 12:17:20 【问题描述】:有没有办法在雪花中创建一个任务来调用多个存储过程?
例如,我有三个存储过程来检查多个表中的重复信息,我想通过任务调用所有三个存储过程,而不必创建一个新的 SP 来循环它们。
【问题讨论】:
【参考方案1】:一个任务只能触发一个 SQL 语句或一个存储过程。
所以你必须做出决定:
-
每个过程都有一个任务,任务之间存在依赖关系
一个包含调用所有三个存储过程的包装过程的任务(您不希望拥有的解决方案)
我认为链接任务是一个很好的解决方案。您必须在 CREATE TASK 语句中使用 AFTER 子句来实现正确的依赖关系:https://docs.snowflake.com/en/sql-reference/sql/create-task.html
【讨论】:
【参考方案2】:一个任务只能调用 1 个 SP,所以如果您不想编写一个调用其他 SP 的 SP,那么创建一个由 3 个任务组成的链怎么样?
【讨论】:
以上是关于具有多个存储过程的任务的主要内容,如果未能解决你的问题,请参考以下文章