我正在使用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;
Run Code Online (Sandbox Code Playgroud)
有人可以在这个问题上帮助我吗?
导致错误的最可能原因是源查询包含多个具有相同行的行C_ID.如果发生这种情况,您有两行或更多行竞争更新目标表中的相同数据(因为此列用作唯一的连接条件).Oracle检测到此情况并抛出ORA-30926错误.
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |