我必须在 oracle DB 中插入一些数据,而没有事先检查它是否已经存在。
是否存在任何方式,在 oracle 上转换以捕获查询中的异常并处理它以不返回任何异常?
像 mysql 风格的东西会很完美
insert .... on duplicate key a=a
最佳答案
您可以使用 MERGE
.虽然语法与常规插入有点不同;
MERGE INTO test USING (
SELECT 1 AS id, 'Test#1' AS value FROM DUAL -- your row to insert here
) t ON (test.id = t.id) -- duplicate check
WHEN NOT MATCHED THEN
INSERT (id, value) VALUES (t.id, t.value); -- insert if no duplicate
关于sql - Oracle DB 插入并且对重复键不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946595/