Oracle 游标中的异常处理
这个问题不是重复的。我正在使用oracle 10g 我搜索了很多,但我的问题似乎不同 我有下列光标Oracle 游标中的异常处理,oracle,exception,exception-handling,cursor,Oracle,Exception,Exception Handling,Cursor,这个问题不是重复的。我正在使用oracle 10g 我搜索了很多,但我的问题似乎不同 我有下列光标 DECLARE -- Some declarations -- CURSOR C1 IS -- some select statements Begin for r in c1 loop -- Insert queries DBMS_OUTPUT.PUT_LINE('INSERTED records'); End loop;
DECLARE
-- Some declarations
--
CURSOR C1 IS
-- some select statements
Begin
for r in c1 loop
-- Insert queries
DBMS_OUTPUT.PUT_LINE('INSERTED records');
End loop;
EXCEPTION WHEN others THEN
dbms_output.put_line('error' || SQLERRM);
END;
根据上面的游标,每当插入过程中发生错误时,错误就会打印在输出上并停止执行。
然而,它应该继续循环
我尝试在循环中添加异常块,但仍然不起作用然后您必须在反循环中使用另一个begin-exception-end。 像这样的
DECLARE
-- Some declarations
--
CURSOR C1 IS
-- some select statements
Begin
for r in c1 loop
BEGIN
-- Insert queries
DBMS_OUTPUT.PUT_LINE('INSERTED records');
EXCEPTION
WHEN OTHERS
THEN
dbms_output.put_line('error in LOOP' || SQLERRM);
END;
End loop;
EXCEPTION WHEN others THEN
dbms_output.put_line('error' || SQLERRM);
END;
请向我们展示您尝试将异常处理放入循环中的其他版本。这应该奏效。