您好,欢迎访问三七文档
课程名称Oracle数据库系统设计实验序号05实验项目过程、函数和触发器实验地点综B502实验学时2实验类型操作性指导教师侯睿实验员专业_计算机科学与技术(师范)班级学号姓名2014年6月22日实验报告要求1、实验报告封面填表说明(每份实验报告必须附上封面)(1)课程名称:要求与实验大纲和实验指导书中的课程名称一致。(2)实验序号:指该课程的第几个实验。(3)实验项目:要求与实验大纲和实验指导书中的实验项目一致。(4)实验地点:填写完成该实验项目所在的实验室名称。(5)实验学时:要求与实验大纲和实验指导书中完成该实验项目所需学时一致。(6)实验类型:是指演示性、操作性、验证性、综合性、设计性。演示性:教师操作,学生观察,验证理论、说明原理和方法。操作性:学生按要求动手拆装、调试实验装置或上机操作,掌握其基本原理和方法。验证性:按实验指导书(教材)要求,由学生通过操作验证所学理论,加深对理论、知识的理解,掌握基本实验知识、方法、技能、数据处理等。综合性:实验内容涉及本课程的综合知识或相关课程的知识,运用多的知识、多种方法,按要求或自拟实验方案进行实验。主要培养学生综合运用所学知识、实验方法和实验技能,以培养其分析、解决问题的能力。设计性:给定实验目的、要求和实验条件,学生自己设计实验方案并加以实现的实验。学生独立完成从查阅资料、拟定实验方案、实验方法和步骤(或系统分析和设计)、选择仪器设备(或自行设计缺制作)进行实验并完成实验全过程,形成实验报告,培养学生自主实验的能力。2、实验报告的格式软件类实验报告格式公共课实验报告格式硬件类实验报告格式序号要求序号要求序号要求1实验目的及要求1实验目的及要求1实验预习实验目的实验原理及内容(简明扼要,主要是实验接线图)2实验原理与内容2实验步骤所用仪器设备3实验软硬件环境3操作要点预习思考题4实验过程(实验步骤、记录、数据、分析)4实验结果2实验原始记录(经实验指导教师签名认可)画出实验所需要的各种记录表格5测试/调试及实验结果分析5实验问题3实验报告数据处理(数据表格、计算结果、误差、结果表达、曲线图等)6实验结论与体会6小结及讨论结论讨论3、教师批改学生实验报告要求(1)批改:全部批改及更正错误。(2)评分:按百分制评分,不能评分为“优、良、中、差”或“A、B、C”。(3)签名及批改日期:任课教师必须在每份学生实验报告中签名和写上批改日期。(4)成绩:填写学生实验成绩表,实验成绩作为考试成绩评定的依据。(4)评语:任课教师批改学生实验报告时,应给出简明扼要的评语。成绩:教师评语指导教师签名:批阅日期:一、实验目的及要求通过上机实践熟悉Oracle11g的对象管理,创建过程、函数和触发器,并进行测试。二、实验原理与内容(1)创建一个过程avg_sal,用于输出emp表中的某个部门的平均工资,并在PL/SQL匿名块调用该过程输出部门SALES的平均工资。(2)创建一个函数find_loc,用于返回某个员工所在的工作地点。测试该函数,显示员工编号为7788的员工的工作地点。(3)创建一个触发器tr_emp_sal,当进行update操作时,员工的工资只能涨不能降;不允许删除员工记录。将员工编号为7788的员工的工资修改为1200和删除员工编号为7788的员工信息,查看相关信息。三、实验软硬件环境安装有Oracle11g数据库软件的计算机;四、实验过程(实验步骤、记录、数据、分析)打开进程,并以数据库管理员身份登陆:(1)点击“开始”-“运行”,输入lsnrctlstart以启动监听程序服务(2)输入netstart以启动实例服务,:(3)通过命令行连接到SQL*Plus:(1)创建一个过程avg_sal,用于输出emp表中的某个部门的平均工资,并在PL/SQL匿名块调用该过程输出部门SALES的平均工资。CREATEORREPLACEPROCEDUREavg_sal(emp_nameINVARCHAR2,valueOUTNUMBER)ASBEGINselectavg(sal)INTOvaluefromscott.empwheredeptno=(selectdeptnofromscott.deptwheredname=emp_name);ENDavg_sal;(2)创建一个函数find_loc,用于返回某个员工所在的工作地点。测试该函数,显示员工编号为7788的员工的工作地点。创建函数:CREATEORREPLACEFUNCTIONfind_loc(emp_numNUMBER)RETURNVARCHAR2ASloc_namescott.dept.loc%TYPE;BEGINselectlocINTOloc_namefromscott.deptwheredeptno=(selectdeptnofromscott.empwhereempno=emp_num);RETURNloc_name;ENDfind_loc;显示员工编号为7788的员工的工作地点:selectfind_loc(7788)fromdual(3)创建一个触发器tr_emp_sal,当进行update操作时,员工的工资只能涨不能降;不允许删除员工记录。将员工编号为7788的员工的工资修改为1200和删除员工编号为7788的员工信息,查看相关信息。创建触发器:createorreplacetriggertr_emp_salbeforeupdateofsalordeleteonscott.empforeachrowbegincasewhenupdating('sal')thenif:new.sal-:old.sal0thenraise_application_error(-20001,'员工的工资只能涨不能降!');endif;whendeletingthenraise_application_error(-20001,'不能删除员工记录!');endcase;end;查看员工编号为7788的基本信息:select*fromscott.empwhereempno=7788修改工资:updatescott.empsetsal=1200whereempno=7788删除员工信息:deletefromscott.empwhereempno=7788五、测试/调试及实验结果分析一切正常!六、实验结论与体会多练习,多操作,这样才能熟练掌握2014年06月22日
本文标题:实验五
链接地址:https://www.777doc.com/doc-5747687 .html