首页 > 解决方案 > ORA-30926: 无法在源表中获得一组稳定的行。即使该 id 在 src 选项卡中重复,我也需要更新目标表的行

问题描述

create table target(id number, name varchar2(10));

insert into target values (1, 'Vinay');

create table source(id number, name varchar2(10)); 

insert into source values (1, 'sql');

insert into source values (1, 'oracle'); 

merge into target t 
using (select * from source) s   
  on (t.id = s.id) 
when matched then update set t.name = s.name;   

我收到 ora-30296 错误,但我需要更新目标表的行,即使该 id 在源表中重复。有没有其他方法可以做到这一点而不是合并?如果源表包含 id 为 1 和两个不同的值,那么在目标表中应该存在最新记录。我想知道如何实现这一目标?

标签: oracleplsql

解决方案


推荐阅读