gpt4 book ai didi

sql - 使用 Oracle10g 合并两个表时出错?

转载 作者:行者123 更新时间:2023-12-04 23:43:27 28 4
gpt4 key购买 nike

我正在使用 Oracle 10g。我试图合并两个表。那时我收到以下错误...ora-30926 无法在源表中获取一组稳定的行。

以下是我的查询

merge into mt_test_dest t
using (select distinct d.dest_id dest_id,
d.c_id,
nvl(tt.destination, tt.destination) destination
from my_dest_extra d
join mt_test_dest tt
on d.c_id = tt.dest_cid
join my_dest dml
on dml.dest_id = d.dest_id
where tt.effectivedate <> to_date('12-12-2999', 'dd-mm-yyyy')) src
on (t.dest_cid = src.c_id)
when matched then
update set t.dest_id = src.dest_id, t.destination = src.destination;

有人可以帮我解决这个问题吗?

最佳答案

错误的最可能原因是您的源查询包含多个具有相同 C_ID 的行。如果发生这种情况,您将有两行或多行竞争更新目标表中的相同数据(因为此列用作唯一的连接条件)。 Oracle 检测到这一点并抛出 ORA-30926 错误。

关于sql - 使用 Oracle10g 合并两个表时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634501/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com