版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告数据库技术及应用课程名称实验5 存储过程、函数、触发器操作实验项目名称实验时间周一10-12节(日期及节次)专业 软件工程年级姓名实验室名称
学生所在学院 软件学院学号指导教师4号楼138实验成绩 操作技预习情况
实验报
附加:综 实验合创新能术
告
综合成力绩教师签字黑龙江大学教务处黑龙江大学计算机科学与技术专业、软件工程专业《数据库技术及应用》课程实验报告学号 姓名 班级实验时间周一10-12节实验名称 实验5 存储过程、函数、触发器操作一、 实验目的存储过程、函数、触发器操作二、 实验环境WindowsXP,Oracle数据库三、 主要内容已知一个已经建好的数据库 factory, 现在该数据库上存在三个表1. 职工表 worker,其结构为(职工号numnber,姓名char(8), 性别char(2) , 出生日期date, 党员否char, 参加工作时间 date ,部门号number), 其中职工号为主键2.部门表department结构为(varchar(20)),其中部门号为主键
部门号 number, 部门名称. 通常的部门信息有人事部 ,市场部,财务处等等3. 职工工资表 salary 其结构为 ( 职工号 number,姓名char(10), 日期date, 工资number(10,2)). 其中职工号和日期为关键字在以上的数据库上完成如下操作:创建一个为worker表添加职工记录的存储过程addworker创建一个为给定职工号,查询职工信息及部门名称的存储过程query_worker创建一个为给定职工号,删除worker表中记录的存储过程delete_worker显示存储过程创建一个函数,完成给定职工号返回职工所在部门的名称的函数创建一个函数,完成给定部门号返回该部门的最大年龄的函数在表department上创建一个触发器deaprt_update,当更改部门号时同步更改worker表中对应的部门号在表worker上创建一个触发器worker_delete,当删除职工记录同步删除对应职工的工资记录删除两个刚刚建立触发器四、 实验总结CREATEORREPLACEPROCEDUREreturn_deptinfo(p_deptno%TYPE,p_avgsalOUT%TYPE,p_countOUT%TYPE
)ASBEGINSELECTavg(sal),count(*)INTOp_avgsal,p_countFROMemp WHEREdeptno=p_deptno;EXCEPTIONWHENNO_DATA_FOUNDTHEN('Thedepartmentdon ’’texists!');ENDreturn_deptinfo;CREATEORREPLACEFUNCTIONreturn_maxsal(p_deptno%TYPE)RETURN %TYPEASv_maxsal%TYPE;BEGINSELECTmax(sal)INTOv_maxsalFROMempWHEREdeptno=p_deptno;RETURNv_maxsal;EXCEPTIONWHENNO_DATA_FOUNDTHEN('Thedeptnoisinvalid!');ENDreturn_maxsal;CREATEORREPLACEFUNCTIONreturn_sumsal(p_deptnoin%TYPE ,p_deptnameout%type)RETURN %TYPEASv_sumsal%TYPE;BEGINSELECT sum(sal)
INTO
v_sumsal
FROMemp
WHEREdeptno=p_deptno;select dname
into
p_deptname
from
dept
wheredeptno=p_deptno;RETURNv_sumsal;EXCEPTIONWHENNO_DATA_FOUNDTHEN('Thedeptnoisinvalid!');ENDreturn_sumsal;DECLAREv_deptno%TYPE;v_avgsal%TYPE;FUNCTIONreturn_avgsal(p_deptno%TYPE)RETURN%TYPEAS v_sal%TYPE;BEGINSELECT avg(sal) INTO v_sal FROMemp WHEREdeptno=p_deptno;RETURNv_sal;ENDreturn_avgsal;PROCEDUREshow_emp(p_deptno%TYPE)ASCURSORc_empISSELECT
*
FROM
emp
WHEREsal<return_avgsal(p_deptno);BEGINFORv_empINc_empLOOP||''||;ENDLOOP;ENDshow_emp;BEGINv_deptno:=&x;v_avgsal:=return_avgsal(v_deptno);show_emp(v_deptno);END;CREATEORREPLACETRIGGERtrg_emp_dmlAFTERINSERTORUPDATEORDELETEONempDECLAREv_countNUMBER;v_sal NUMBER(6,2);BEGINIFINSERTINGTHENSELECTcount(*)INTOv_countFROMemp;(v_count);ELSIFUPDATINGTHENSELECTavg(sal)INTOv_salFROMemp;(v_sal);ELSEFORv_dept IN(SELECTdeptno,count(*) numFROMempGROUPBYdeptno)LOOP||''||;ENDLOOP;ENDIF;ENDtrg_emp_dml;CREATEORREPLACETRIGGERtrg_emp_dml_rowBEFOREINSERTOR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学二年级劳动学科“包粽子”实践教学设计
- 高中信息技术必修一《4.3.1 if语句的运用》教学设计
- 小学五年级英语教学设计:Unit 1 It's changing for the better 句型与语音整合教学
- 2026年安全生产信息化技术应用课件
- 2026及未来5年中国樟子松苗数据监测研究报告
- 2026及未来5年中国棉袄数据监测研究报告
- 2026及未来5年中国树脂砂瓦数据监测研究报告
- 2026银行金融类-金融考试-银行业专业人员初级(法规 风险管理)历年参考题库含答案详解
- 2026消防员基础理论(官方)-消防员职业守则参考试题库历年考点答案详解
- 2026正高卫生职称-医学中医类-中医骨伤科学(正高)代码:076历年参考题库含答案详解
- 2026年威海市新达农业发展有限公司招聘笔试备考试题及答案解析
- 2026年玉林师范学院辅导员招聘笔试试题(附答案)
- 小学道德与法治新部编版五年级上册全册教案(2026秋)
- 2026年普通高等学校招生全国统一考试(新课标全国Ⅰ卷)英语真题(含答案+听力原文+解析)
- 沪教版英语五年级上册Unit 1基础测试卷(含答案)
- 2026年内蒙古专升本计算机基础(真题)试卷带答案
- 2025-2030柬埔寨农产品加工产业升级与出口竞争力提升研究报告
- 2026数学核心素养大单元教学设计获奖课件
- 《诊断学(本科临床医学专业):胸部检查》教学设计
- 新时代陕西省立德树人工作指南细则
- 再生障碍性贫血诊断与治疗中国指南
评论
0/150
提交评论