【发布时间】:2020-04-30 19:25:17
【问题描述】:
Snowflake 提供了(不寻常的)在表名中绑定变量的能力: https://docs.snowflake.com/en/sql-reference/literals-table.html
我想知道是否可以对列执行相同的操作,如下所示:
select count(1) from mytable where ? is null
【问题讨论】:
-
如果没有文档,我倾向于尝试看看它是否有效..
-
我做到了,但它并没有完全奏效。我想知道是否有类似于他们为表参数化所做的事情,因为它是not normally something you can do
-
好吧,如果您使用存储过程,您可以这样做,因为您可以编写 SQL,最后我了解到没有预先计算的计划,因此允许变量表名称没有问题。允许我不了解您使用半动态 SQL 的上下文,但无法在该层形成完整的 SQL .. 也就是我们从我们在 aws 中运行的 node.js 应用程序中或将我们所有的 sql 转换为不在身边的任务,所以这就是全部,所以从那里可以编写我们所有的动态 sql 需求。
-
回答手头的问题并不重要,但如果你很好奇,我正在编写一个对某些视图进行大量数据质量检查的应用程序。视图的模型存储在 yaml 文件中,这些文件定义了每个视图的字段以及一些特征,如可空性或允许值。
-
是的,我绝对同意我可以自己连接字符串,但宁愿使用绑定变量来确保清理安全性和正确性
标签: snowflake-cloud-data-platform