触发器基本语法(适⽤于insert,update,delete)
[size=x-large][color=darkred]⼀.触发器概述[/color][/size]
触发器(trigger)是个特殊的存储过程,它的执⾏不是由程序调⽤,也不是⼿⼯启动,⽽是由个事件来触发,⽐如当对⼀个表进⾏操作(insert,delete, update)时就会激活它执⾏。触发器经常⽤于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。
[size=x-large][color=darkred]⼆.触发器介绍 [/color][/size]
触发器是⼀种特殊的存储过程,它在插⼊,删除或修改特定表中的数据时触发执⾏,它⽐数据库本⾝标准的功能有更精细和更复杂的数据控制能⼒。数据库触发器有以下的作⽤:
* 安全性。可以基于数据库的值使⽤户具有操作数据库的某种权利。
update语法大全# 可以基于时间限制⽤户的操作,例如不允许下班后和节假⽇修改数据库数据。
# 可以基于数据库中的数据限制⽤户的操作,例如不允许股票的价格的升幅⼀次超过10%。
* 审计。可以跟踪⽤户对数据库的操作。
# 审计⽤户操作数据库的语句。
# 把⽤户对数据库的更新写⼊审计表。
* 实现复杂的数据完整性规则。 # 实现⾮标准的数据完整性检查和约束。触发器可产⽣⽐规则更为复杂的限制。与规则不同,触发器可以引⽤列或数据库对象。例如,触发器可回退任何企图吃进超过⾃⼰保证⾦的期货。
# 提供可变的缺省值。
* 实现复杂的⾮标准的数据库相关完整性规则。触发器可以对数据库中相关的表进⾏连环更新。# 在修改或删除时级联修改或删除其它表中的与之匹配的⾏。
# 在修改或删除时把其它表中的与之匹配的⾏设成NULL值。
# 在修改或删除时把其它表中的与之匹配的⾏级联设成缺省值。
# 触发器能够拒绝或回退那些破坏相关完整性的变化,取消试图进⾏数据更新的事务。当插⼊⼀个与其主健不匹配的外部键时,这种触发器会起作⽤。
* 同步实时地复制表中的数据。
* ⾃动计算数据值,如果数据的值达到了⼀定的要求,则进⾏特定的处理。例如,如果公司的帐号上的资⾦低于5万元则⽴即给财务⼈员发送警告数据。
[size=x-large][color=darkred]三.触发器语法:[/color][/size]
create  trigger 触发器名触发时间触发事件
on 表名
[for each row]
pl/sql 语句
其中:
触发器名:触发器对象的名称。由于触发器是数据库⾃动执⾏ 的,因此该名称只是⼀个名称,没有实质的⽤途。
触发时间:指明触发器何时执⾏,该值可取:
before---表⽰在数据库动作之前触发器执⾏;
after---表⽰在数据库动作之后出发器执⾏。
触发事件:指明哪些数据库动作会触发此触发器:
insert:数据库插⼊会触发此触发器;
update:数据库修改会触发此触发器;
delete:数据库删除会触发此触发器;
表 名:数据库触发器所在的表。
本⽂来⾃CSDN博客,转载请标明出处:blog.csdn/zzzmmmkkk/archive/2009/08/01/4400557.aspx