设计一个名为EMP_ACTIONS的包,在包中说明名实现以下类型、对象和子程序:
(1) 类型:EMPRECTYP和DEPTRECTYP
EMPRECTYP 包含字段:emp_id INTEGER, salary REAL;
DEPTRECTYP包含字段:dept_id INTEGER, location CHAR;
(2) 光标:desc_salary
参数:(emp_id INTEGER), 返回:EMPRECTYP
(3) 函数:hire_employee, nth_highest_salary和rank;
hire_employee参数:与表emp的所有字段相对应;
返回:新插入的记录号;
nth_highest_salary
功能:返回工资为第n个高的雇员的记录
参数:n INTEGER―――emp表的记录数据‘
返回:第n个高的雇员的记录EMP_REC EMPRECTYP;
提示:使用光标
(4) 过程:fire_empployee和Raise_salary
fire_empployee
功能:删除指定编号的雇员记录
参数:emp_id INTEGER―――emp表的记录数据‘
返回:无
提示:
Raise_salary
功能:给指定的雇员加薪
参数:emp_id INTEGER,incnum NUMBER
返回:无
提示:应使用例外功能处理可能不存在与指定号相对应雇员记录情况。(5) 例外:Salary_missing
(1) 类型:EMPRECTYP和DEPTRECTYP
EMPRECTYP 包含字段:emp_id INTEGER, salary REAL;
DEPTRECTYP包含字段:dept_id INTEGER, location CHAR;
(2) 光标:desc_salary
参数:(emp_id INTEGER), 返回:EMPRECTYP
(3) 函数:hire_employee, nth_highest_salary和rank;
hire_employee参数:与表emp的所有字段相对应;
返回:新插入的记录号;
nth_highest_salary
功能:返回工资为第n个高的雇员的记录
参数:n INTEGER―――emp表的记录数据‘
返回:第n个高的雇员的记录EMP_REC EMPRECTYP;
提示:使用光标
(4) 过程:fire_empployee和Raise_salary
fire_empployee
功能:删除指定编号的雇员记录
参数:emp_id INTEGER―――emp表的记录数据‘
返回:无
提示:
Raise_salary
功能:给指定的雇员加薪
参数:emp_id INTEGER,incnum NUMBER
返回:无
提示:应使用例外功能处理可能不存在与指定号相对应雇员记录情况。(5) 例外:Salary_missing
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货