1 / 17
文档名称:

实验6触发器与作业.docx

格式:docx   大小:266KB   页数:17页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验6触发器与作业.docx

上传人:飞行的优优 2022/6/14 文件大小:266 KB

下载得到文件列表

实验6触发器与作业.docx

相关文档

文档介绍

文档介绍:实验6触发器与作业..
实验6触发器与作业..
1 / 171
实验6触发器与作业..
实验6 触发器与作业









网络工程



同组人:
yees;
给出测试结果截图:
updateemployeessetsalary=3000;
给出测试结果截图:
实验6触发器与作业..
实验6触发器与作业..
5 / 175
实验6触发器与作业..

实验6触发器与作业..
实验6触发器与作业..
17 / 1717
实验6触发器与作业..
在insert或update中使用:new
阅读并理解以下程序,理解其功能,给出运行测试结果。

--在insert或update中使用:new--
CREATEORREPLACETRIGGERrestrict_salary
BEFORE INSERTORUPDATEOFsalaryONemployees
FOREACHROW
BEGIN
插入和修改可以使用:new来访问新的数据,修改也可以使用:old来访问旧的数据
IF NOTIN('AD_PRES','AD_VP'))
AND>15000
THEN
RAISE_APPLICATION_ERROR(-20212,' 员工不能赚到这么多薪水 ');
ENDIF;
END;

--测试语句
insertintoemployeesvalues(1,'a',20000,'AD_PRES');
insertintoemployeesvalues(2,'b',20000,'AD_VPs');
updateemployeessetsalary=30000,job_id='xxxx'wherename='a';
给 出 运 行 结 果 :
实验6触发器与作业..
实验6触发器与作业..
7 / 177
实验6触发器与作业..

实验6触发器与作业..
实验6触发器与作业..
17 / 1717
实验6触发器与作业..
思考:观察运行结果,比拟 insert和update语句执行的差异。
在delete中使用:old
阅读并理解以下程序,理解其功能,给出运行测试结果。

CREATEORREPLACETRIGGERrestrict_salary_del
BEFORE DELETE ONemployeesFOREACHROW
BEGIN
在delete语句中只能使用:old来访问旧的数据
IF IN('AD_PRES','AD_VP'))AND>15000)
THEN
RAISE_APPLICATION_ERROR(-20212,' 该员工不可以删除 ');
ENDIF;
END;

--测试语句
insertintoemployeesvalues(2,'张三',20000,'AD_PRES');
deletefromemployeeswherename='张三';
给出运行结果:
实验6触发器与作业..
实验6触发器与作业..
9 / 179
实验6触发器与作业..

实验6触发器与作业..
实验6触发器与作业..
17 / 1717
实验6触发器与作业..
INSTEADOF 类型的触发器
阅读并理解以下程序,理解其功能,给出运行测试结果。
:创立触发器及相应测试用表
--INSTEADOF 类型的触发器
droptabledepartments;
createtabledepartments(
dept_idnumber(5) primarykey,
dept_namevarchar2(20)
);
droptableemployees;
createtableemployees(
employee_idnumber(5),
employee_namevarchar2(20),
department_idnumber(5),
constraintempl_dept_fkforeignkey (department_id)referencesdepartments(dept_id)
);
--创立视图
createorreplaceviewv_emp
as
selectfromemployeese,departmentsd
where=
--创立触发器
create