我最近了解了异常,我试图忽略一些异常。基本上,我想在一个新表中插入一定数量的行,而我正在做一段时间。有时,可能会插入重复的ID,因此,我收到错误DUP_VAL_ON_INDEX。我正在扔它,但我希望代码继续下去。我尝试过使用NULL,但它不能令人遗憾地工作。我正在使用sql developer。代码是这样的:
while nr <= nr_rows
loop
insert_into_table_code;
end loop;
exception
when DUP_VAL_ON_INDEX then
nr:=nr-1;
NULL;
虽然这不起作用......它仍然会停止执行代码。还有其他方法可以继续吗?
答案 0 :(得分:1)
处理循环内的异常而不是循环外的异常。伪代码:
while nr <= nr_rows
loop
begin
insert_into_table_code;
exception
when DUP_VAL_ON_INDEX then
nr:=nr-1;
end;
end loop;