在报表系统中经常需要进行批量数据操作,如果这一批数据中某条记录有问题,则会整个插入操作报异常,从而回滚整个操作。在日常的数据割接中也可能应用到这类场景,在这次浙江手机阅读业务数据库三期割接中就使用了批量插入异常处理技术
-- Create table
create table DEFU
(
ID NUMBER(6),
NAME VARCHAR2(96),
AGE NUMBER(4)
)
tablespace MREAD_DATA
--
由于要插入的数据中有些数据长度超过字段最大长度,从而导致报错,操作失败

begin
DBMS_ERRLOG.CREATE_ERROR_LOG('defu', 'ERR_defu');
end;
Insert into defu
select id,
name,
44
from defu_test log errors
into err_defu('daily_load') reject limit unlimited;

