我正在尝试根据查询的“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/应用程序接收这些列及其值,因此我需要动态生成这些查询。
有办法做到这一点吗?
蒂亚
BigQuery 提供了一个名为 EXECUTE IMMEDIATE 的语句,该语句接受一个字符串作为输入,表示要执行的 SQL 语句。 SQL被解析然后执行。这意味着您可以构建 SQL 语句,以便在给定输入参数的情况下动态(即时)执行。这里要非常小心地考虑 SQL 注入漏洞和防御性代码,特别是如果要运行的 SQL 来自最终用户 UI 输入。另请参阅这篇博客文章: