oracle触发器的设计及应用.docxVIP

  • 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)

1亿VIP精品文档

相关文档