【发布时间】:2017-10-03 19:46:23
【问题描述】:
我认为这个要求很少遇到,所以我无法搜索类似的问题。
我有一个需要更新 ID 的表。例如,table1 中的 ID 123 实际上应该是 456。我构建了一个单独的引用表来存储映射(例如,旧的 123 映射到新的 id 456)。
我使用了下面的查询,但显然它返回了错误 38104,在 ON 子句中引用的列无法更新。
MERGE INTO table1
USING ref_table ON (table1.ID = ref_table.ID_Old)
WHEN MATCHED THEN UPDATE SET table.ID = ref_table.ID_New;
还有其他方法可以达到我的目的吗?
非常感谢您的回答!
【问题讨论】:
-
尝试在 ON 子句中使用 rowid
-
@BarbarosÖzhan 他们是两个不同的表,rowid 不匹配
-
@DaveCosta 好的,你说得对,我不应该给出简短的回答。详情请参阅下方 MT0 的回答。