oracle - 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 和两个不同的值,那么在目标表中应该存在最新记录。我想知道如何实现这一目标?
解决方案
推荐阅读
- c# - 如何在复合模式中使用享元模式
- css - 在芯片自动完成组件的输入字段之外显示选定选项的值
- linux - 使用 sed 命令在 linux 中编辑配置文件
- java - 我无法使用 Gradle、Dropwizard 和 IntelliJ 调试 JavaEE 应用程序
- reactjs - mauron85 background-geolocation 安装问题(react-native: command not found)
- java - 升级 JRE j2se 1.8.0_181 后无法启动 Java Web Start
- java - 在 weblogic 服务器上部署 Spring Boot Web 应用程序后,得到错误为 ORA-01427:单行子查询返回多于一行
- postgresql - 如何在 PL/pgSQL 函数中获取执行的客户端详细信息
- c# - C#图像丢失YCbCr(CMYK)和文件大小增加五倍
- java - Spring Boot - 配置上下文路径