出于编程原因,我想两次发布相同的DDL语句:
INSERT INTO dataset.tabledest(id,vi)
SELECT 'test' AS id,'value' AS vi
FROM dataset.tablesource
- 第一次调用它,如果它不存在,我希望它创建表并附加查询结果
- 第二次调用它,我希望它附加结果
使用BigQuery API,可以通过以下方式完成:
- 仅将select语句用作查询
- 将目标表设置为参数(例如,使用R bigrquery API
,destination_table='...',
) - 设置
write_disposition='WRITE_APPEND'
- 设置
create_disposition='CREATE_IF_NEEDED'
我不确定这是否可以通过单个查询完成,而不需要将其他外部参数传递给API。