习题7
一、选择题
1.声明%TYPE类型的变量时,服务器将会做什么操作?( )
A.为该变量检索数据表中列的数据类型
B.复制一个变量
C.检索数据库中的数据
D.为该变量检索列的数据类型和值
2.下列哪个语句允许检查UPDATE语句所影响的行数?( )
A. SQL%FOUND
B. SQL%ROWCOUNT
C. SQL%COLJNTD
D. SQL%NOTFOUND
3.对于游标FOR循环,以下哪种说法是不正确的?( )
A.循环隐含使用FETCH取数据
B.循环隐含使用OPEN记录集
C.终止循环操作也就关闭了游标
D.游标FOR循环不需要定义游标
4.如果PL/SQL程序块的可执行部分引发了一个错误,则程序的执行顺序将发生什么变化?( )
A.程序将转到EXCEPTION部分运行
B.程序将中止运行
C.程序仍然正常运行
D.以上都不对
5.在PL/SQL 块中不能直接嵌入以下哪些语句。
A. SELECT B. INSERT
C. CREATE TABLE D. GRANT
E. COMMIT
6. 当fetch执行失败时,哪些游标的属性值为TRUE。
A. %ISOPEN B. %FOUND
C. %NOTFOUND D. %ROWCOUNT
7. 下面是有关while循环结构的特征的描述,请问哪些描述是正确的?( )
A. 首先执行循环体,然后执行循环条件判断。
B. 首先执行循环条件判断,然后执行循环体。
C. 循环次数是事先指定的。
D. 循环次数是一个范围。
8. 以零作除数时会引发( )异常。
A. VALUE_ERROR
B. ZERO_DIVIDE
C. STORAGE_ERROR
D. SELF_IS_NULL
9. 要更新游标结果集中的当前行,应使用( )子句。
A. WHERE CURRENT OF
B. FOR UPDATE
C. FOR DELETE
D. FOR MODIFY
二、简答题
1.简述标量变量和复合变量之间的区别。
2.使用显式游标需要哪几个步骤?
3.简述如何处理用户自定义异常。
4.描述游标的各个属性。
5.说明使用游标FOR循环如何对游标进行处理。
6.何处理非预定义异常?
三、编程题
1.编写程序,用以提示用户输入姓名。此代码应该检查用户输入的姓名的长度。如果长度小于2,则引发异常并显示消息“请输入正确的姓名”。否则显示“欢迎”。
2.编写程序,显示1到100之间的素数。
3. 编写程序,用以接受雇员的ID。如果雇员的雇用日期超过5年,则发放薪水50%的奖金。如果超过3年,则发放薪水30%的奖金。其余的发放薪水10%的奖金。
4.编写程序,用以接受用户输入的数字。将该数左右反转,然后显示反转后的数。
5.编写程序,用以接受用户输入的deptcode,并从employee表中检索显示该部门的员工数。如果引发NO_DATA_FOUND异常,则显示消息 “该部门不存在”。