【发布时间】:2021-12-07 01:23:39
【问题描述】:
如何使用 google-cloud-bigquery gem 进行更新插入?
如果不可能,我将如何在 Ruby 应用程序中实现它?
我需要创建一个新表并将唯一的行复制到其中吗?
【问题讨论】:
如何使用 google-cloud-bigquery gem 进行更新插入?
如果不可能,我将如何在 Ruby 应用程序中实现它?
我需要创建一个新表并将唯一的行复制到其中吗?
【问题讨论】:
为此,请查看 Bigquery MERGE clause。
MERGE 语句是一种 DML 语句,它可以将 INSERT、UPDATE 和 DELETE 操作组合到单个语句中并以原子方式执行操作
您可以在此堆栈thread 中找到此语句实际用法的一个很好的示例。
我假设 Bigquery Ruby client 将 MERGE 查询语句附加到适当的 bigquery.query_job method 最终创建一个 Bigquery Job 对象就足够了。
如有更多疑问/疑虑,请随时扩展最初的问题,探索有关您当前用例的更多上下文。
【讨论】:
MERGE 子句中总是有选项来提供三个选项:MATCHED、NOT MATCHED BY TARGET 和NOT MATCHED BY SOURCE 灵活设置相应的动作,更详细的查看命令reference .它接近你的问题吗?