异常的异常处理
1 DECLARE
2 invalidsno EXCEPTION;
3 sid VARCHAR2(10);
4 pname VARCHAR2(10);
5 BEGIN
6 sid:='&sss'; --这里如果直接写'07001'则通过
7 IF sid NOT IN ('07001','07002','07003') THEN
8 RAISE invalidsno;
9 ELSE
10 select sname into pname from student
11 where sno=sid;
12 DBMS_OUTPUT.PUT_LINE(sid||'的姓名是'|| pname);
13 END IF;
14 EXCEPTION
15 WHEN invalidsno THEN
16 DBMS_OUTPUT.PUT_LINE('无法识别该学生');
17 end;
输入 sss 的值: 07002
原值 7: sid:='&sss';
新值 7: sid:='07002';
DECLARE
*
第 1 行出现错误:
ORA-01403: 未找到数据
ORA-06512: 在 line 11
????怎会这样?11行有错吗,