--找不出问题所在
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 放在循环外
------解决方案--------------------
那就不要用异常了。异常处理不是干这个用的啊,亲。。