Oracle 让 insert 语句忽略索引重复错误的方法

insert into 语句遇到唯一索引相同时就会报错,我们在批量插入大量数据时,有时需要自动跳过这些错误,让SQL文件继续执行完其他语句。


MySQL方法

MySQL 要解决这个问题只需要用 INSERT IGNORE INTO 代替 INSERT INTO 即可


Oracle方法

Oracle 也不复杂,通过ignore_row_on_dupkey_index Hint 实现

写法如下(表名table_name,索引字段column_name):

INSERT /*+ ignore_row_on_dupkey_index(table_name(column_name)) */ into ...

如果 Oracle 版本低于 11g,以上方法可能失效,这里不展开,有需要可看 Oracle Equivalent to MySQL INSERT IGNORE?


参考:
How to Skip Duplicate Key Errors (ORA-00001) in Oracle Database

若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏