oracle-触发器_第1页
oracle-触发器_第2页
oracle-触发器_第3页
oracle-触发器_第4页
oracle-触发器_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Neusoft Institute of InformationORACLE By liqiangl触发器类型触发器类型l创建触发器创建触发器本次课主要内容本次课主要内容Neusoft Institute of InformationORACLE By liqiangl触发器是许多关系数据库系统都提供的一项触发器是许多关系数据库系统都提供的一项技术。技术。l触发器是在数据库里以独立的对象进行存储触发器是在数据库里以独立的对象进行存储的特殊类型的存储过程,当指定的触发事件的特殊类型的存储过程,当指定的触发事件发生时自动执行。发生时自动执行。l触发器事件指的是对数据库的表进行的触发器事件指的是对数

2、据库的表进行的insert、update、delete操作或对视图进行类操作或对视图进行类似的操作及对数据库系统的启动与关闭等事似的操作及对数据库系统的启动与关闭等事件。件。触发器定义触发器定义Neusoft Institute of InformationORACLE By liqianglDML触发器:触发器:可以在可以在DML操作前或操作后触发。操作前或操作后触发。l系统触发器:系统触发器:可以在可以在Oracle数据库的系统实践中数据库的系统实践中进行触发,如进行触发,如Oracle系统的启动与关闭等。系统的启动与关闭等。lInstead of触发器:触发器:执行触发器中的代码而不是执

3、行触发器中的代码而不是用户输入的用户输入的DML语句(用在视图上)语句(用在视图上)l模式触发器:模式触发器:根据根据DDL语句创建的触发器语句创建的触发器触发器类型触发器类型Neusoft Institute of InformationORACLE By liqiang创建创建DML触发器触发器l语法:语法:Create or replace trigger tr_nameBefore | afterInsert |delete | update of(列列1,列列2)On table_name For Each Row When (condition) PL/SQL语句块语句块Neuso

4、ft Institute of InformationORACLE By liqiangDML触发器分类触发器分类l行级触发器行级触发器: 对对DML语句影响的每行执行语句影响的每行执行一次一次l语句级触发器语句级触发器: 对每条对每条DML语句执行一次语句执行一次Neusoft Institute of InformationORACLE By liqiangDML触发器实例触发器实例l例子:例子:用户添加一条产品的出货记录用户添加一条产品的出货记录前前,检验,检验产品的库存是否足够出货产品的库存是否足够出货,成功添加以成功添加以后后更新更新此产品的库存量。此产品的库存量。Neusoft I

5、nstitute of InformationORACLE By liqiangNeusoft Institute of InformationORACLE By liqiang触发器中触发器中NEW与与OLDl说明:说明: :New 和和 :old: :new 引用表增加或修改后引用表增加或修改后行行的值的值,包包含所有列的信息含所有列的信息 :old 引用表修改前引用表修改前行行的值,包含所的值,包含所有列的信息有列的信息Neusoft Institute of InformationORACLE By liqiang触发器组合使用触发器组合使用l各种各种DML触发器类型的组合使用触发器类

6、型的组合使用 一个表上多个一个表上多个Insert、Update、Delete命命令的触发器可以组合为单一的触发器。令的触发器可以组合为单一的触发器。 采用采用条件谓词条件谓词inserting、updating、deleting进行数据库操作的区分进行数据库操作的区分。Neusoft Institute of InformationORACLE By liqiang触发器组合使用触发器组合使用(续续)if inserting thenelsif updating thenEnd if;Neusoft Institute of InformationORACLE By liqiang触发器编译

7、和状态触发器编译和状态l编译触发器编译触发器: 创建成功自动编译,状态为创建成功自动编译,状态为有效有效创建有错误,状态为创建有错误,状态为无效无效与触发器有关的表、存储过程、函数被删与触发器有关的表、存储过程、函数被删除或修改,状态为除或修改,状态为无效无效重新编译重新编译: Alter trigger tr_name compile;l启用、禁用启用、禁用 Alter trigger tr_name enable|disable;Neusoft Institute of InformationORACLE By liqiang触发器的限制触发器的限制l在在DML语句中不能使用控制语句语句中不能使用控制语句COMMIT,ROLLBACK语句。语句。l由触发器所调用的过程或函数也不能使用控由触发器所调用的过程或函数也不能使用控制语句。制语句。l触发器中不能定义触发器中不能定义LONG和和L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论