有没有办法根据where条件的标准列表动态或动态地生成bigquery查询?

问题描述 投票:0回答:1

我正在尝试根据查询的“Where”条件中的不同条件动态生成大查询中的查询。

例如,如果我收到列及其相应值的列表(a=1,b=2,c=3,d=null,e=null),那么我的查询需要是,

SELECT col1, col2 from TABLE_NAME WHERE a=1 and b=2 and c=3

我从 UI/应用程序接收这些列及其值,因此我需要动态生成这些查询。

有办法做到这一点吗?

蒂亚

sql google-cloud-platform google-bigquery dynamicquery generative-programming
1个回答
0
投票

BigQuery 提供了一个名为 EXECUTE IMMEDIATE 的语句,该语句接受一个字符串作为输入,表示要执行的 SQL 语句。 SQL被解析然后执行。这意味着您可以构建 SQL 语句,以便在给定输入参数的情况下动态(即时)执行。这里要非常小心地考虑 SQL 注入漏洞和防御性代码,特别是如果要运行的 SQL 来自最终用户 UI 输入。另请参阅这篇博客文章:

如何在 BigQuery 中使用动态 SQL

© www.soinside.com 2019 - 2024. All rights reserved.