【发布时间】:2013-01-09 04:56:45
【问题描述】:
我有如下代码:
DECLARE
rec emp%ROWTYPE
BEGIN
<<start_again>>
FOR rec IN c1 LOOP
SELECT emp_index
INTO flag
FROM m_sme006
WHERE emp_id = rec.emp_id
AND eff_dt = rec.eff_dt
AND end_dt = rec.end_dt
AND last_maint_ts > rec.last_maint_ts;
END LOOP;
EXCEPTION
WHEN no_data_found THEN
GOTO start_again;
END;
每次出现 no_data_found 异常时,我都希望执行返回并继续下一次迭代。但它抛出了error PLS-00375: illegal GOTO statement
我还可以在异常块中包含这行dbms_output.Put_line('Outside exception block'rec.sme006_index); 以查看发生的位置吗?
提前致谢
【问题讨论】:
-
另外看看我的例子 - 继续过去的异常:stackoverflow.com/questions/14109845/…
-
@Art 谢谢,它真的让我了解如何使用异常......
-
不客气!总是乐于提供帮助。