我有一个使用 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:唯一约束错误
我想要做的是将重复的列发送到另一个表my_Table_recyledbin以获得成功的 INSERT,我可以使用EXCEPTION WHEN DUP_VAL_ON_INDEX
吗?如果是,如何将它与 MERGE 语句一起使用?
提前致谢