文档介绍:实验6 触发器与作业姓名:  学号: 专业:网络工程 班级: 同组人:无 实验日期:2013/11/28          【实验目的与要求】?理解什么是触发器?掌握触发器的设计与使用?掌握在Oracle中完成定时作务的方法【实验内容与步骤】相关说明:本实验中前面实验创建的触发器可能对后面的实验产生干扰,若出现这种情况,请把前面触发器删除,再完成后面实验。建议每完成一个实验题后,即将该题相关的触发器删除,以免对后面实验产生干扰。:CREATE[ORREPLACE]TIGGER触发器名触发时间触发事件ON表名[FOREACHROW]BEGINpl/ ,请阅读并理解以下程序代码,给出运行结果。--droptableemployees;createtableemployees(id  number(5),name varchar2(30),salary number(8,2),job_id varchar2(20));--这里不能有ISBEFOREINSERTONemployees --这里没有分号BEGINIF(TO_CHAR(SYSDATE,'DY')IN('星期六','星期天')OR(TO_CHAR(SYSDATE,'HH24:MI')NOTBETWEEN'08:00'AND'18:00'))THENRAISE_APPLICATION_ERROR(-20500,'你只能在工作时间对表进行操作');ENDIF; END;/(1)--测试语句insertintoemployeesvalues(1,'a',2222,'aaaaa');给出测试结果截图:(2)将系统时间修改为周六,再Insert一条记录,给出并比较两次运行的结果。给出测试结果截图:,理解程序功能,给出运行测试结果。--如果当前时间是周六或周日或者时间不在8:00-18:00之间IF(TO_CHAR(SYSDATE,'DY')IN('星期五','星期天')OR(TO_CHAR(SYSDATE,'HH24:MI')NOTBETWEEN'08:00'AND'18:00'))THENIFDELETINGTHENRAISE_APPLICATION_ERROR(-20502,'你只能在工作时间删除员工表的数据');ELSIF INSERTINGTHENRAISE_APPLICATION_ERROR(-20500,'你只能在工作时间插入员工表的数据.');ELSIF UPDATING('SALARY')THENRAISE_APPLICATION_ERROR(-20503,'你只能在工作时间更新员工表的数据');ELSERAISE_APPLICATION_ERROR(-20504,'你只能在工作事件操作员工表的数据.');ENDIF;ENDIF;END;/,给出运行结果。并理解为什么会有这样的结果。insertintoemployeesvalues(1,'a',2222,'AD_PRES');insertintoemployeesvalues(2,'b',2222,'AD_VP');给出测试结果截图:deletefromemployees;给出测试结果截图:updateemployeessetsalary=3000;给出测试结果截图::new阅读并理解以下程序,理解其功能,给出运行测试结果。--在insert或update中使用:new--CREATEORREPLACETRIGGERrestrict_salaryBEFORE INSERTORUPDATEOFsalaryONemployeesFOREACHROWBEGIN--插入和修改可以使用:new来访问新的数据,修改也可以使用:old来访问旧的数据IF NOT(:('AD_PRES','AD_VP'))AND:>15000THENRAISE_APPLICATION_ERROR(-20202,'员工不能赚到这么多薪水');ENDIF;END;--测