版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、触发器和内置程序包目标:能够使用触发器 能够使用内置程序包 第一部分指导本阶段的重点学习如何编写创建触发器的语句,还将学习编写以使用各种内置程序包的方法。阶段一:创建语句触发器需求说明: 公司经理认为itemfile表中的数据非常重要,希望所有对该表进行的更新都要有记录,但只记录所做的操作,不记录用户更新的具体数据,请提出解决方案。实现思路: 语句级触发器对每个DML语句执行一次,通常用于强制实施在表上执行操作的额外安全性措施。语句级触发器CREATE TRIGGER命令创建的触发器的默认类型。可以首先创建一个记录信息的表,然后在itemfile表上创建一个执行UPDATE、INSERT和DE
2、LETE语句都会激活的语句级触发器。参考步骤:(1启动“SQL Plus”。(2输入以下命令,创建记录操作的表。 (3输入以下命令,创建语句级触发器。 (4测试触发器。执行以下语句对itemfile进行更新。 上述语句显示信息“已更新1行”。执行以下语句查看itemfile-log表的信息。 输出结果如下: 阶段二:创建行级触发器需求说明: 产品销售订单条目上包括产品的编号、数量和单价,由于统计的需要,订单上还需要显示每种产品的总金额,它的数量和单价的乘积。为了确保此数据的正确性,需要对此字段进行自动计算。实现思路: 行级触发器在执行更新的DML语句时自动执行,行级触发器对DML语句影响的每个
3、行执行一次。可以使用行级触发器实现自动计算总金额的功能,也可以在CREATE TRIGGER命令中指定FOR EACH ROW子句创建行级触发器。在触发器中,可以引用DML语句中涉及的旧值和新值。“旧”是指在DML语句之前存在的数据;“新”是指在DML语句创建的数据值(如插入记录的列。此处因为要更新正要被修改的行,所以应该创建BEFORE INSERT OR UPDATE方式的行级触发器。参考步骤:(1启动“SQL Plus”。(2输入以下语句创建表。 (3输入以下代码创建触发器。 (4向表中插入数据测试触发器。 执行以下语句查询插入的数据。 上述语句的输出结果如下所示。 (5更新表中数据测试
4、触发器。 执行以下语句查询插入的数据。 上述语句的输出结果如下所示: 阶段三:创建INSTEAD OF触发器需求说明: 已知公司的职员表中有职员编号、职员姓名、职务和薪水信息。现创建一个视图将职员姓名和职务合并起来显示,中间以逗号分开。请问能否直接修改此视图以达到修改职员姓名和职务的功能?实现思路: 使用INSTEAD OF触发器可以实行此功能。使用了表达式的视图不能用DML语句进行更新操作。INSTEAD OF触发器是在视图上定义的触发器,它是用来替换所使用实际语句的触发器。可以使用触发器代码将职员姓名和职务分解之后修改雇员表,以达到更新的目的。参考步骤:(1启动“SQL Plus”。(2输
5、入以下语句创建职员视图。 (3输入以下命令查询视图。 输出结果如下: (4输入以下命令试图更新视图 命令执行失败,输出结果如下所示。 (5输入以下代码创建INSTEAD OF触发器。 触发器代码将name列的值分解成姓名和职务,然后更新emp表。(6再次输入以下命令试图更新视图 上述命令执行成功,使用以下语句查询修改的效果。 输出结果如下所示。 阶段四:使用DSMS RANDOM程序包需求说明: 某公司的网站接受用户注册为会员,系统需要每个新注册的用户生成一个随机密码。要求编写一个生成随机密码的函数,该函数可以生成6-12位的随机字符串作为用户密码。实现思路: DSMS RANDOM包可生成随
6、机数和随机字符串,因此可使用它创建此函数。函数接受密码长度,如果指定长度小于6位,则生成6位密码,如果指定长度大于12位,则生成12位密码。参考步骤:(1启动“SQL Plus”。(2输入以下代码创建函数。 要调用此函数,可使用以下查询语句。 上述查询的输出结果如下所示。 第二部分练习1 order-detail表包含orderno、odate、vencodeitemcode、qty- order ed、ostatus 和del-date等列。创建一个trg-del-ord触发器,在order-detail表中的记录被删除时激活。此触发器将所删除记录的orderno 列值以及删除时的系统时间插入名为deleted- order的新表。2完善第一部分练习3,编写一个代替INSERT命令的触发器,可以在emp-view视图上进行插入操作。老二牛车教育 Oracle 数据库应用 上机课 作业 1 创建一个 trg-anti-alter 触发器, 在用户修改数据库对象是激活。 在激活触发器时, 应显示错误信息 “无 法更改对象” 。 提示:创建模式触
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高中语文《插秧歌》杨万里田园古诗教学设计
- 建筑施工安全分项检查评分表
- 2025年煤矿安全生产管理人员安全资格考试题库及答案
- 2025-2026学年统编版三年级上册语文第三单元测试卷及答案
- 2026 年中华传统孝道故事学习感悟课件
- 2026 年提升自然灾害应急防范能力培训
- 2026 年春节家国团圆传统文化教育课件
- 俄语口语单元测试试题及答案
- 硬质合金混合料工QC管理测试考核试卷含答案
- 陶瓷颜料制备工安全演练模拟考核试卷含答案
- 期中达标测试卷(1-4单元试卷)2026-2027学年五年级数学上册人教版(含答案)
- 2026年烟花爆竹零售经营安全考试试题及答案
- 2026年新版药物GCP考试试题及答案
- 2026年人教版新版数学四年级上册第三单元《多位数乘两位数》教学设计
- 新教科版科学五年级上册1-1《研究放大镜》教学课件
- 2026-2027学年统编版九年级语文上册第一单元综合检测卷(含答案)
- 2026第三季度广西一键游数智文旅产业集团有限公司社会招聘12人笔试题库(有一套)附答案详解
- 新版 2026新教材人教PEP版五年级上册英语课文+翻译合集
- 2024 温室气体排放核算与报告要求 第21部分:铸造企业
- 第三单元《阅读综合实践》课件 2026-2027学年统编版语文九年级上册
- 运动损伤与康复全套课件
评论
0/150
提交评论