带您深入了解Oracle触发器

在Oracle数据库中,Oracle触发器是一种自动执行响应数据库变化的程序。下面就带您一同了解一下Oracle触发器的使用,供您参考学习。

创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站设计制作、网站制作质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式营销型网站建设需求,让再小的成都品牌网站建设也能产生价值!

我们可以设置为在触发器事件之前或之后触发或执行。能够触发触发器事件的事件包括下面几种:

DML事件
DDL事件
数据库事件

DML事件触发器可以是语句或行级触发器。DML语句触发器在触发语句之前或之后触发DML行级触发器在语句影响的行变化之前或之后触发。用户可以给单一事件和类型定义多个触发器,但没有任何方法可以增强多触发器触发的命令。下表列出了用户可以利用的触发器事件:

事件 触发器描述
INSERT  当向表或视图插入一行时触发触发器
UPDATE  更新表或视图中的某一行时触发触发器
DELETE 从表或视图中删除某一行时触发触发器
CREATE 当使用CREATE语句为数据库或项目增加一个对象时触发触发器
ALTER 当使用ALTER语句为更改一个数据库或项目的对象时触发触发器
DROP 当使用DROP语句删除一个数据库或项目的对象时触发触发器
START 打开数据库时触发触发器,在事件后触发
SHUTDOWN  关闭数据库时触发,事件前触发
LOGON 当一个会话建立时触发,事件前触发
LOGOFF 当关闭会话时触发,事件前触发
SERVER 服务器错误发生时触发触发器,事件后触发

创建触发器的语法如下:

 
 
 
  1. CREATE [OR REPLACE] TRIGGER trigger_name  
  2. {before|after|instead of} event  
  3. ON {table_or_view_name|DATABASE}  
  4. [FOR EACH ROW[WHEN condition]]
  5. trigger_body  

只有DML触发器(INSERT、UPDATE、DELETE)语句可以使用INSTEAD OF触发器并且只有表的DML触发器可以是BEFORE或AFTER触发器。

象约束一样触发器可以被设置为禁用或启用来关闭或打开他们的执行体(EXECUTE),将触发器设置为禁用或启用使用ALTER TRIGGER语句:

 
 
 
  1. ALTER TRIGGER trigger_name ENABLE;  
  2. ALTER TRIGGER trigger_name DISABLE;  

要禁用或启用表的所有触发器,使用ALTER TABLE语句

 
 
 
  1. ALTER TABLE table_name DISABLE ALL TRIGGERS;  
  2. ALTER TABLE table_name ENABLE ALL TRIGGERS;  

删除触发器使用DROP TRIGGER

 
 
 
  1. DROP TRIGGER trigger_name;  

 

【编辑推荐】

Oracle过程和函数的区别

Oracle to_char函数的使用

oracle函数返回表的实现

带您了解Oracle FBI索引

详解如何将Oracle安装为Linux服务

网站题目:带您深入了解Oracle触发器
新闻来源:http://www.hantingmc.com/qtweb/news28/150478.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联