Oracle MERGE INTO 问题
今天生产环境遇到个ORA-30926的问题,发现是Mergeinto的时候,源表数据不唯一。于是做了如下实验,发现Mergeinto很诡异啊。表A数据:IDNAME1A表...
今天生产环境遇到个ORA-30926的问题,发现是Merge into的时候,源表数据不唯一。于是做了如下实验,发现Merge into很诡异啊。
表A数据:
ID NAME
1 A
表B数据
ID NAME
1 B
1 A
1 A
sql语句:
MERGE INTO aa A
USING mm B
ON(A.ID=B.ID)
WHEN MATCHED THEN
UPDATE SET A.NAME = B.NAME
WHEN NOT MATCHED THEN
INSERT VALUES(B.ID, B.NAME);
照理说应该报错,结果居然成功了,表A的数据变为了1 B,再执行一次sql语句才报ORA-30926。
有哪位高人能知道这是啥原因吗?Merge into到底是什么原理,居然和数据顺序有关系! 展开
表A数据:
ID NAME
1 A
表B数据
ID NAME
1 B
1 A
1 A
sql语句:
MERGE INTO aa A
USING mm B
ON(A.ID=B.ID)
WHEN MATCHED THEN
UPDATE SET A.NAME = B.NAME
WHEN NOT MATCHED THEN
INSERT VALUES(B.ID, B.NAME);
照理说应该报错,结果居然成功了,表A的数据变为了1 B,再执行一次sql语句才报ORA-30926。
有哪位高人能知道这是啥原因吗?Merge into到底是什么原理,居然和数据顺序有关系! 展开
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询