- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PL/SQL 总结-6 目录 触发器简介 创建DML 触发器:1 创建DML 触发器:2 创建 DDL 和数据库事件触发器 管理触发器 触发器简介 此部分将讲解: 触发器概念及用途 数据库触发器与应用程序触发器 触发器使用指南 触发器与存储程序异同 触发器简介 此部分将讲解什么是数据库触发器以及它有什么用途. 触发器可使指定操作在数据库内自动执行, 而不需要编写额外的应用程序代码. 触发器可增强数据库及应用程序的功能. 接下来几部分都讲解触发器有关知识. 为什么需要触发器 让我们从一个例子开始: 业务规则要求 员工工资发生改变时, 变化情况必须记录在一个日志表中. 为此我们可创建两个过程: UPD_EMP_SAL 用于修改工资, LOG_SAL_CHANGE 用于添加记录到日志表中. 我们可从 UPD_EMP_SAL 中调用LOG_SAL_CHANGE, 或从调用环境中单独调用 LOG_SAL_CHANGE. 但我们不必这样做. 相反, 我们可创建一个触发器. 下张幻灯片演示了如何去做. 触发器的简单示例 从现在开始, 只要有 SQL 语句修改工资, 上面触发器就会自动执行, 向日志表添加记录. 我们说当触发事件( triggering event )发生,触发器会自动触发/执行( fires). 因果关系( Cause and effect ): 事件发生, 触发器触发. 什么是触发器? 数据库触发器: 是和某个数据库对象(表、视图等)上的特定操作(事件)关联在一起的 PL/SQL 块. 保存在数据库中 关联事件发生时自动执行PL/SQL 块. 上页中的例子中, 触发器关联的事件是: UPDATE OF salary ON employees. 数据库触发器和应用程序触发器 数据库触发器 在某个schema或整个数据库上发生数据事件 (如 DML 或 DDL) 或系统事件 (如用户连接数据库, DBA 关闭数据库) 时自动执行.数据库触发器在数据库中创建并存储, 这点就像 PL/SQL 过程, 函数 和包. 应用程序触发器 当应用程序中特定事件发生时自动执行. 此类触发器在用Oracle Forms Developer 开发的应用程序中广泛存在. 本课程只讲解数据库触发器. 何种事件会触发数据库触发器 ? 数据库中下述事件会触发触发器: 数据表上的 DML 操作 视图上的 DML操作, 会触发 INSTEAD OF 触发器 DDL 语句, 如 CREATE 和 ALTER 数据库系统事件, 如用户登录数据库 或 DBA 关闭数据库. 下面你将详细学习各种触发器. 触发器可能的用途 触发器可用于: 实现复杂数据库安全规则 自动产生审计记录 实现复杂数据完整性规则 自动产生日志记录 防止数据表的意外删除 防止非法 DML 事务 还有很多其它用途! 触发器更多的用途 触发器可用于: 自动计算列的值 维护同步表复制 收集数据表访问的统计信息 将在视图上执行的 DML 语句转化为对基表的操作 还有很多其它用途! 例 1: 自动创建日志记录 数据库管理员希望自动记录 (存放在某个数据表中) 谁在什么时间登录过数据库. 这可通过创建如下的日志表和触发器来实现 : 例 2: 实现复杂数据完整性规则 假设公司规定员工工作调整时,新工作不能是以前员工已经做过的工作. 此规则可通过如下触发器实现 触发器指南 如果可以通过其它方式很容易实现的功能,就不要用触发器实现. 如, 简单的数据完整性规则应当用约束而不是触发器实现. 过多使用触发器会导致难以维护的复杂的内部依赖关系. 只在必要时才使用触发器, 而且要小心级联和递归影响. 避免触发器中出现过长的代码逻辑。可将代码逻辑在存储过程或包内过程中实现,然后在触发器代码中调用过程. 数据库触发器和存储程序比较 触发器简介 此部分讲解了: 触发器概念及用途 数据库触发器与应用程序触发器 触发器使用指南 触发器与存储程序异同 创建DML 触发器:1 此部分将讲解: 创建 DML 触发器 列举 DML触发器组成部分 创建语句级触发器 描述触发器触发序列选项 创建DML 触发器:1 假设现在要自动记录员工工资的修改历史. 这不仅是公司的需要, 在很多国家也是法律的要求. 为此, 需要创建一个 DML 触发器. DML触发器在大多数 Oracle 数据库中是最常见的触发器类型. 本部分和下一部分, 讲解 DML触发器. 什么是 DML 触发器? DML 触发器是由 DML 语句 (INSERT, UPDATE 或 DELETE) 自动触发 (执行) 的触发器. DML触发器可按两种方式分类: 按执行的时机: 在 DML 语句执行之前 (BEFORE),之后( AFTER) 或 代替
您可能关注的文档
- Co-Teaching Helps All Students Succeed - Inter.PPT
- Clusters of Innovation Initiative产业集群的创.PPT
- coursenkhlxUploadfile第四节胃癌病人的护理ppt.ppt
- Chemical Bonding I Lewis Theory化学我刘易斯理.PPT
- Atlas of Science Literacy, Volume 2 Ted Willar.PPT
- Critical Thinking Teaching Methods and Strate.DOC
- Criminal Law Outline - University of Michigan.DOC
- Data Management Plan Template - National Insti.DOC
- Decision Tree Analysis in Litigation The Basic.DOCX
- Crafting Executing Strategy 18e.PPT
- process mapping and patient journey guide.PPT
- Project Feasibility Study Checklist项目可行性.DOCX
- Preprocessing and analysis of Affymetrix micro.DOC
- QC提高工程沉降观测准确度.doc
- Restatement of the Law, Third, Foreign Relatio.DOC
- Risk Assessment Tool - Corporate Compliance风.DOC
- PowerPoint Lab Answers - Solution Conductivity.PPT
- responsible gaming features - university of ca.PPT
- Producer-Archive Interface Methodology Abstrac.PPT
- SCHOOL UNIFORMS Does What Students Wear Really.DOC
文档评论(0)