在 FROM 语句中使用查询参数



我正在使用python API在BigQuery表上运行DELETE FROM作业。我正在尝试通过为可以扫描的表添加一个变量来使我的代码尽可能可重用,例如:

dml_statement = (
"""
DELETE FROM `my_project.my_dateset.detail_@market`
WHERE order_date = @date
""")

不幸的是,这将返回错误:

未找到:

404 未找到:表 my_project:my_dataset.detail_@market not 位于 欧盟

如果我不能在FROM子句中使用变量,是否有其他方法可以使所选表成为动态输入?

我也尝试使用通配符和_TABLE_SUFFIX,但DELETE查询不允许通配符选择。

你可以尝试这样的东西:

from google.cloud import bigquery
client = bigquery.Client()  
project = 'YOUR_PROJECT'
dataset = 'YOUR_DATASET'
table = 'YOUR_TABLE'
sql ="""DELETE FROM `{}.{}.{}` WHERE something IS NULL"""
query=sql.format(project,dataset,table)
query_job = client.query(query)

最新更新