文档介绍:实验报告
实验名称:使用游标、存储过程和触发器
实验课时:2课时
实验地点:E305
实验时间:2014年5月 21日 星期 三 第14 周
实验目的及要求:
了解游标的概念和工作原理。
了解存储过程的分类和使用方法。
了解触发器的概念。
学****编写和执行自定义过程。
学****创建和使用触发器。
实验环境:
硬件设备:PC机一台
操作系统:Windows XP
应用工具:Oracle 11g
实验内容:(算法、程序、步骤和方法)
创建游标mycur,从表employees中读取1号部门的员工姓名,职务。并输出“员工姓名:XXX,职务:XXX。”
程序代码如下:
set serveroutput on;
DECLARE
CURSOR mycur IS
SELECT emp_name, title
FROM employees
where dep_id=1;
BEGIN
FOR yw IN mycur LOOP
('员工姓名:'||||'职务:'||);
END LOOP;
END;
执行结果如下:
创建存储过程GetGrade,查询指定员工的工资,使用CASE语句输出其工资等级。工资小于等于3000,等级为“低”;工资大于3000,小于5000,等级为”中”;工资大于等于5000,等级为高。并执行该存储过程。
创建存储过程代码如下:
create or replace procedure getgrade
(yw_depid number)
as
yw_wage %type;
yw_grade varchar2(5);
begin
select wage into yw_wage
from employees
where emp_id=yw_depid;
yw_grade:=case
when yw_wage<=3000 then '低'
when yw_wage>=3000 and yw_wage<5000 then '中'
when yw_wage>=5000 then '高'
end;
('该员工工资等级为'||yw_grade);
end;
执行存储过程代码如下:
execute getgrade(3);
call getgrade(3);
执行结果如下:
创建存储过程UpdateWage,查询指定员工的工资,如果工资小于3000,则加200工资,并提示信息“XX号员工工资已更新。”,如果工资大于3000,则提示信息“XX号员工工资为XXX,已达到规定标准。”
创建存储过程代码如下:
create or replace procedure updatewage
(yw_depid number)
as
yw_wage %ywpe;
BEGIN
Select wage into yw_wage
From employees
Where