日期:2014-05-16  浏览次数:21186 次

出现符号‘EXCEPTION’ 在需要下列条件之一
--找不出问题所在

declare 
e_no_employee exception;
pragma exception_init(e_no_employee,-2291);
v_empno number(4):=1111 ;
begin
while v_empno<=2222
loop
update scott.emp set deptno = 10
WHERE empno = v_empno;
if SQL%NOTFOUND THEN
BEGIN
v_empno:=v_empno + 1;
RAISE e_no_employee;
END;
END IF;
EXCEPTION
WHEN e_no_employee THEN
DBMS_OUTPUT.PUT_LINE('该雇员不存在!');
end loop;
end;
/


------解决方案--------------------
EXCEPTION应该放在loop外面吧
------解决方案--------------------
exception 放在循环外
------解决方案--------------------
引用:
Quote: 引用:

EXCEPTION应该放在loop外面吧


一到外面,里面的循环只走了一次。没有达到效果

那就不要用异常了。异常处理不是干这个用的啊,亲。。