oracle实验指导书之全本(8)

2019-04-23 09:28

实 验 报 告

实验名称:使用游标、存储过程和触发器 实验课时:2课时 实验地点:E305

实验时间:2014年5月 21日 星期 三 第14 周 实验目的及要求:

(1) 了解游标的概念和工作原理。 (2) 了解存储过程的分类和使用方法。 (3) 了解触发器的概念。

(4) 学习编写和执行自定义过程。 (5) 学习创建和使用触发器。

实验环境:

(1) 硬件设备:PC机一台 (2) 操作系统:Windows XP (3) 应用工具:Oracle 11g

实验内容:(算法、程序、步骤和方法)

(1) 创建游标mycur,从表employees中读取1号部门的员工姓名,职务。并

输出“员工姓名:XXX,职务:XXX。” 程序代码如下: DECLARE

CURSOR mycur IS

SELECT emp_name, title FROM employees where emp_id=1; BEGIN

FOR ty IN mycur LOOP

dbms_output.put_line('员工姓名:'||ty.emp_Name||'职务:'||ty.title); END LOOP; END; /

执行结果如下:

(2) 创建存储过程GetGrade,查询指定员工的工资,使用CASE语句输出其

工资等级。工资小于等于3000,等级为―低‖;工资大于3000,小于5000,等级为‖中‖;工资大于等于5000,等级为高。并执行该存储过程。 创建存储过程代码如下:

create or replace procedure getgrade (ty_depid number) as

ty_wage employees.wage%type; ty_grade varchar2(5); begin

select wage into ty_wage from employees

where emp_id=ty_depid; ty_grade:=case

when ty_wage<=3000 then '低'

when ty_wage>=3000 and ty_wage<5000 then '中' when ty_wage>=5000 then '高' end;

dbms_output.put_line('该员工工资等级为'||ty_grade); end; /

执行存储过程代码如下: execute getgrade(3); call getgrade(3); 执行结果如下:

(3) 创建存储过程UpdateWage,查询指定员工的工资,如果工资小于3000,

则加200工资,并提示信息“XX号员工工资已更新。”,如果工资大于3000,则提示信息“XX号员工工资为XXX,已达到规定标准。” 创建存储过程代码如下:

create or replace procedure updatewage (ty_depid number) as

ty_wage employees.wage%type; BEGIN

Select wage into ty_wage From employees

Where employees.emp_id =ty_depid; If ty_wage <3000 then Update employees

Set employees.wage= employees.wage+200 Where employees.emp_id= ty_depid; Commit;

DBMS_OUTPUT.PUT_LINE('5号工资已更新'); Else

DBMS_OUTPUT.PUT_LINE('5号工资为'|| ty_wage ||'已达到规定标准'); END if; Exception

When no_data_found then

DBMS_OUTPUT.PUT_LINE('不存在该员工'); When others then

DBMS_OUTPUT.PUT_LINE('其他异常'); End; /

执行存储过程代码如下: Call updatewage(3); 执行结果如下:

(4) 创建触发器MyTrigger,它的作用是当表departments中的记录被删除后,

自动删除表employees中的对应的员工记录,从而保证数据的完整性。 程序代码如下:

create or replace trigger mytrigger after update on departments for each row begin

update employees set dep_id = :new.dep_id where dep_id = :old.dep_id; end;

执行结果如下:

小结:

通过这次上机实验,我有以下收获:

但是还上机操作过程中还存在以下几个方面的不足:

成绩:指导老师签名:年 月 日

指导老师评议:


oracle实验指导书之全本(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:策划店前婚纱秀场省钱计划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: