一、实验目的
1.熟悉掌握PL/SQL编程中游标的定义和使用。
2.熟悉掌握PL/SQL程序的异常处理。
二、实验内容
1、练习使用游标,包括隐式游标、显式游标和游标FOR循环。
(1)在SCOTT模式下显示EMP表中工资(SAL)排名前5的员工的编号(EMPNO)、姓名(ENAME)和工资(SAL),并将所有执行正确的PL/SQL语句记录下来。
①使用隐式游标完成(1)中的操作。
②使用显式游标完成(1)中的操作。
③使用游标for循环完成(1)中的操作。
2.预定义异常的应用:在SCOTT模式下,由员工编号(员工编号由用户任意输入)查找EMP表中的某一员工的姓名。若查找成功则显示该员工的姓名;若该员工编号不存在、则由教材P136表6-2中系统定义的异常NO_DATA_FOUND,输出用户自定义的错误信息“编号错误,没有找到相应的雇员!”;若发生其他类型的错误,则利用OTHERS子句捕获异常,显示自定义错误消息“发生其他错误”、以及出错码(SQLCODE)、出错信息(SQLERRM)。
3.自定义异常的应用:自定义一个异常,在SCOTT模式下,如果查找到EMP表中的某一员工(员工编号由用户任意输入)的佣金(COMM字段)为0时,则显示自定义错误消息“该员工的佣金为0,请检查数据是否有误!”。
实验七附加:PL/SQL编程基础(2)
一、实验目的
1.熟悉掌握PL/SQL编程中游标的定义和使用。
2.熟悉掌握PL/SQL程序的异常处理。
二、实验内容
1、练习使用游标(带参游标)。
用显式游标查询SCOTT模式下EMP表中某部门某工种的员工编号(EMPNO)和姓名(ENAME),要求:显式游标的参数为该员工的部门号(DEPTNO)和工种(JOB),利用带参数的显式游标根据部门号和工种这两个参数,显示该部门、该工种的员工编号和姓名信息。例如,若给定的参数是部门号(10),工种(CLERK),则显示部门号为10、工种为CLERK的员工的编号和姓名。请将所有执行正确的PL/SQL语句记录下来。
2.非预定义异常的应用:
已知Oracle中一错误代码ORA-01400: 无法将 NULL 插入,请将该错误代码与NULL_INSERT_ERROR进行关联,并利用Scott模式下的表(例如,emp或dept)操作,举例报出该错误。