【发布时间】:2021-10-27 08:26:38
【问题描述】:
我有一个使用 Snowflake API 的案例。我们有一堆物化视图,对于我们的每个客户都有多个。在使用 API 时,我们希望使用函数或存储过程在运行时产生结果,并以客户 ID 作为参数。此参数将用于从正确的视图中获取数据,以避免每个客户端都有功能。但是,我遇到了一些问题:
- SQL UD(T)F 不起作用,因为您似乎不能 在 FROM 子句中使用参数。你也不能使用变量或 如果我理解正确,运行多个语句。
- JavaScript UD(T)F 不起作用,因为您不允许执行 声明。
- 存储过程适用于单个值(这是一种用途 case),但不适用于返回表格。它可以返回一个 VARIANT,但是 这将在使用我们的 API 的服务中添加工作 想避免。
您对如何实现我们所追求的结果有什么建议吗?我们可以使用我们所追求的结果创建预先计算的视图,但这会导致大量视图,因为我们还需要 API 中的其他参数来获得动态(过滤)结果。因此,基于函数的方法似乎更加简洁且易于维护。
感谢您的帮助和支持!
【问题讨论】:
-
能否用SP建一个包含结果的表,以便SP完成后可以访问?
标签: stored-procedures snowflake-cloud-data-platform user-defined-functions