在from语句中使用查询参数

t9eec4r0  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(292)

我在经营一家公司 DELETE FROM 使用pythonapi在bigquery表上执行作业。我试图通过为表添加一个可以扫描的变量,使代码尽可能可重用,例如:

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

这将返回错误:
找不到:404找不到:我的表_project:my_dataset.detail_@market 在位置eu中找不到
如果我不能在 FROM 子句是否有其他方法可以使所选表成为动态输入?
我还尝试使用通配符和 _TABLE_SUFFIX ,但不允许使用通配符选择 DELETE 查询。

khbbv19g

khbbv19g1#

您可以尝试以下方法:

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)

相关问题