我有这个简单的例子,我不能似乎得到工作:甲骨文MERGE不插入
MERGE INTO mytable mt
USING dual
ON (mt.id = 'AAA')
WHEN MATCHED THEN
UPDATE SET mt.name = 'updated'
WHEN NOT MATCHED THEN
INSERT (mt.id , mt.name)
VALUES ('AAA', 'Gooood');
如果“AAA”记录存在于表中,它成功地更新。
但是,如果不存在,它没有插入:
Affected rows: 0
Time: 0.003ms
什么我做错了任何线索?
你在使用响应 “受影响的行:0时间:0.003ms” 的工具? – 2010-02-25 18:10:15
有人想知道OP是否在没有提交的情况下合并在一个会话中并且从另一个会话中查询。或者现有的应用程序是否正确解释来自SQL%ROWCOUNT模拟的输出。 – 2010-02-25 18:39:44
是否有可能你的表'mytable'需要的不仅仅是'id'和'name'来做一个有效的插入? – 2010-02-25 19:28:33