1、运用DBMS_ERRLOG.CREATE_ERROR_LOG来创建日志表。
例:EXCUTEDBMS_ERRLOG.CREATE_ERROR_LOG('TABLE_A','TABLE_A_LOG');
将TABLE_A的错误日志表创建为TABLE_A_LOG
2、在DML中声明LOG ERRORS语句。
例:insert into table_a(id,name,class_code) values(20150001,'NaNa','CLS201')
log errorsinto table_a_log;
insert into table_a select * from xxx where xx = 'xx' log errors into table_a_log
reject limit unlimited;
小结:
reject limit默认为0,因此只要有一条记录发生错误整个语句就撤销。因此把该参数设置为unlimited允许插入语句完成而不管有多少条记录发生错误转移到错误日志表。