如何使用特定表中的列作为我需要从中删除、插入或更新数据的表名
Posted
技术标签:
【中文标题】如何使用特定表中的列作为我需要从中删除、插入或更新数据的表名【英文标题】:How to use a Column in a particular table as Table name from which i need to delete or insert or update my data 【发布时间】:2021-11-05 03:35:51 【问题描述】:假设我有如下数据
Id Table Name
1 T1
2 T3
3 T2
4 T1
我可以编写一个查询来删除表 T1 中的 1 和 4 以及表 T3 中的 2 和表 T3 中的 3 吗?
【问题讨论】:
简短回答:不,每次删除通常都需要单独的查询。除此之外,您当前的设计可能不是最佳的。为什么所有这些记录不能在同一个表中? 基本上我正在尝试使用 mongo db 的 oplogs 来更新它将在 bigQuery 上的每日转储,因此设计了用于从所有集合中以上述方式删除、更新和插入的表。跨度> 这里需要动态 SQL,这意味着您需要编写生成删除 SQL 语句的代码。 这会是你的选择吗?SELECT ... INTO @delete_query; PREPARE stmt FROM @delete_query; EXECUTE stmt
由于您现在的要求是 BigQuery 的动态 SQL,我建议您为此打开一个新的 *** 线程。
【参考方案1】:
正如@Tim 所建议的,您在单个查询中无法实现从多个表中删除的要求,您可以使用动态 SQL 生成每个删除 SQL 语句并使用执行命令来运行查询。
【讨论】:
以上是关于如何使用特定表中的列作为我需要从中删除、插入或更新数据的表名的主要内容,如果未能解决你的问题,请参考以下文章