|
|
如果是用PL/SQL的FORALL DML, 它可以把异常全部放在一个数组里面。C语言不知道有没有类似机制。但是可以用如下的 DML ERROR LOG功能来忽略错误:
假设要操作的表名为T,先建立一个错误日志表:
exec dbms_errlog.create_error_log (dml_table_name => 'T');
它会自动建立一个名字为ERR$_T的表。这个步骤是一次性的,以后可以一直用。
insert into t values(1,2,3) log errors reject limit unlimited;
所有的DML错误会被收集到ERR$_T表中, INSERT不会报错。
|
|