【发布时间】:2011-04-05 17:01:08
【问题描述】:
我有一个使用 MERGE 的 PL/SQL 过程:
MERGE INTO
table_dest d
USING
(SELECT * FROM my_Table) s
ON
(s.id = d.id)
when matched then UPDATE set d.col1 = s.col1
when not matched then INSERT (id, col1) values (s.id, s.col1);
现在假设查询 s 返回具有相同 id 的多行,这将返回 ORA-00001: unique constrain error
我想要做的是将重复的列发送到另一个表 my_Table_recyledbin 以获得成功的 INSERT,我可以使用 EXCEPTION WHEN DUP_VAL_ON_INDEX 吗?如果是,如何将它与 MERGE 语句一起使用?
提前致谢
【问题讨论】:
标签: sql oracle merge ora-00001