还剩1页未读,继续阅读
文本内容:
习题5
一、选择题
1.在PL/SQL中,如果SELECT语句没有返回列,则会引发Oracle错误,并引发A.自定义异常B.软件异常C.系统异常D.突发异常
2.关于出错处理,下列叙述错误的是A.可以有多个WHEN OTHERS从句B.可以在块中定义多个出错处理,每一个出错处理包含一组语句C.在块中必须以关键字EXCEPTION开始一个出错处理D.将WHENOTHERS从句放置在所有其他出错处理从句的后面
3.当显式游标关闭时,又调用其属性,将抛出异常A.NO_DATA_FOUND B.VALUE_ERRORC.INVALID_CURSOR D.TOO_MANY_ROwS
4.下列说法正确的是;A.系统预定义的错误需要在声明部分定义B.系统预定义的错误需要用户触发C.系统预定义的错误是在STANDARD包中定义的D.系统预定义的错误无法处理
5.自定义异常必须使用语句引发A.IFB.WHENC.EXCEPTION D.RAISE
6.关于用户自定义错误的步骤中,不包括A.定义错误B.触发错误C.分析错误D.处理错误A.PL/SQL语句块中,当SELECT…INTO语句不返回任何数据行时,将抛出异常A.NODATAFOUNDB.VALUE_ERROC.DUP_VAL_INDEXD.TOO_MANY_ROWS
二、应用题带有异常处理的PL/SQL程序回输出某位雇员的姓名和工资员工编号从钢随机输入1如果雇员不存在,触发系统异常,输出既查无此人”2如果雇员存在,但工资<800元,触发自定义异常,输出康工资太低,需要涨工资“3如果雇员存在,且工资N800元,输出该雇员的姓名和工资
2.编写带有异常处理的PL/SQL程序团从键盘上随机输入某个学生的姓名,判断该学生选修“maths”的成绩是否及格
(1)如果不及格,触发自定义异常,输出团“此学生需要补考比
(2)如果及格,则输出成绩
(3)如果该学生不存在,触发系统预定义异常,输出回”查无此学生!”第章异常处理1
一、选择题
1.C
2.A
3.C
4.C
5.D
6.C
7.A
二、上机实验题
1.编写带有异常处理的PL/SQL程序输出某位雇员的姓名和工资(员工编号从键盘随机输入)
(1)如果雇员不存在,触发系统异常,输出〃查无此人〃
(2)如果雇员存在,但工资小于800元,触发自定义异常,输出〃工资太低,需要涨工资〃
(3)如果雇员存在,且工资=800元,输出该雇员的姓名和工资答declarev salemp.sal%type;v enameemp.ename%type;e exception;beginselect ename,sal into v_ename,v_sal fromemp whereempno=a;if vsal800then raisee;else dbms_output.put line(v_ename||v_sal);end if;exceptionwhen no_data_found then dbms_oiitput.put_line(‘查无止匕人’);when ethendbmsoutput.put_line(工资太低,需要涨工资);end;
2.编写带有异常处理的PL/SQL程序从键盘上随机输入某个学生的姓名,判断该学生选修“maths”的成绩是否及格
(1)如果不及格,触发自定义异常,输出“此学生需要补考!”;
(2)如果及格,则输出成绩
(3)如果该学生不存在,触发系统预定义异常,输出“查无此学生!”答declarev snamestudent.sname%type:=a_sname;v gradenumber;e_stu exception;beginselect gradeintov_grade fromstudent,sc,coursewhere student.sno=sc.sno andsc.cno=course.eno andsname=v snameand cname=,maths,;if v_grade60then raisee_stu;else dbms_output.put_line(成绩为’||v_grade||‘分);end if;exceptionwhen e_stu thendbms_output.put_line(此学生的成绩为||v_grade||分,需要补考!’);when no_data_found thendbms_output.put_line(‘查无止匕学生!’);end;。
个人认证
优秀文档
获得点赞 0