- 10
- 0
- 约3.65千字
- 约 6页
- 2021-02-25 发布于天津
- 举报
实验六 Oracle 触发器的设计及应用
实验目的:
触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发 器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的 ,而触发器
是不能被直接调用的。
触发器具有这些功能: 1、允许 /限制对表的修改; 2、自动生成派生列,比 如自增字段; 3、强制数据一致性; 4、提供审计和日志记录; 5、防止无效的事 务处理; 6、启用复杂的业务逻辑。
本次实验了解 Oracle 触发器的创建、修改和删除的方法和步骤,掌握在
Oracle SQL Developer 中对触发器的进行创建、修改和删除,掌握触发器触发 测试的方法。
实验步骤:
1.创建触发器 audit_employee_copy ,该触发器对修改 Employees_copy 表 的时间、用户名记录到日志表中。
运行 SQL Developer ,用自己的学号和密码建立 Connections ,并连接到
Oracle 数据库上,打开 SQL worksheets ,按顺序运行以下语句,运行时请点击 (Run Script) 按钮。
(1). 输入如下语句,建立试验表,如图 6-1所示:
create table employees_copy as select * from employees;
工作表 弯询构建器
cre-ate table emplo7ees_copv as select t^an 包皿口丄oyeeg;
:
SaWfii岀 *
X H L2 任黑已完嵐用时0. 165秒
table EMPLOYTE5_COPT 已创崖。
(2).输入如下语句,建立日志表,并查看日志表是否为空,如图 6-2所示:
create table employees_log(
who varchar2(30),
whe n date);
select * from employees_log;
A£l朝齒凤加居趣圈oi俯秒
n?f* 查询枸建器
create talle employees_l?g(
血o varckar2(30^,
vriien date);
select 吉 frcniL employe e s_ 1 og;
I .] -
凰脚本输出工
W 0日j旦眉丄任劳己兀庇用时山询秒
calle EMFL^TES_COF?已创越。
taLle EMFL0YEE5_L0G 已创韋① 未选择任何行
我们看至V,现在的 employees_log 表中没有记录,0 rows selected。
(3).输入如下语句,在employees_copy表上建立语句触发器,在触发器中
将时间、用户记录到employees_log表中。如图6-3所示:
Create or replace trigger audit_employee_copy
Before in sert or update or delete
On employees_copy
Beg in
Insert into employees」og(Who,when) Values(user, sysdate);
End;
1 [
[m?a苗耳 a 遂电!z切 「偌秋
:HE夷 沓河构建爭
Q Create or retlace trigger aud i t_ emp 1 eye e_c opy
Before insert- or upefta-te or delete
On emp1oye e s_c opy
Begin
Insert into umpLoyeH呂 log (血o/triwn) Value? (vsei;/ ;
End;
输出z
h s 0 i任势已呢成「用时o.斶秒
table EHPLOYEES_COPY 已创崖*
tfible EMPLOTEES_LOG-已创逢宀
未迭搔任何行
TRIGGER audi c_eini)10¥ee_copy 已漏译
(4).输入如下语句对触发器进行UPDATE触发测试,如图6-4所示:
对employees_copy表做一个update操作,并提交(commit)到数据库:
update employees_copy set salary = salary*1.1;
commit;
⑦起始肉掘I绘.■谑
AKIJS趣遵 廖③ 遹4S01 coca
工作表 查谊构建器
iQidate employees_copy set salary = salaxy^l■丄; cmrvnit ;
i
i
|圍Bt輸出*
N 日昌同 任务旦宪就^BO.匹砂 tahle euflotees^cofy 已创蚩 f
table EMPL0YEE3_L0G 已创建
未选择任何行
TRIGGER audic._em
原创力文档

文档评论(0)