日期:2014-05-16  浏览次数:20608 次

浅入浅出触发器

                                                                   浅入浅出触发器(7-11)

 

 

触发器(tigger),触发器是数据库的对象. 是一个特殊的存储过程,他的执行不是由程序调用,也不是手工启动,而是又事件来触发的. 就像是愤怒的小鸟中一连串的动作.我们给小球一个外力,他就会执行一连串的动作,并影响一连串的事件(表的级联操作).还记得<功夫熊猫>里,因为熊猫阿宝的一个包子不小心把师傅的练功房的器械全都发动了. 又如我们的蝴蝶效应(也许比喻不恰当)就像多米诺骨牌,只要一推(事件)就会引发一连串有关的事件,而每个多米诺骨牌又是有联系的.

 

  现在翻开曾今的耿来事,才发现耿老师写的是如此的详细! 在我们的数据库中是当对表进行操作(insert delete update)时就会激活它执行. 触发器经常用于加强数据的完整性约束和业务规则等. 触发器是基于表进行操作,触发器的主要作用是能够实现由主键和外键所不能保证的复杂的参照性完整性和数据一致性.可以级联修改,级联删除,调用存储过程.

百度百科关于触发器:http://baike.baidu.com/view/71792.htm

 

触发器的用途.

 

(1) 强化约束(Enforce restriction)

触发器能够实现比CHECK语句更为复杂的约束。(与check区别很容易查找到)

(2) 跟踪变化Auditing changes

触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。

 

(3) 级联运行(Cascaded operation)。

触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。

(4) 存储过程的调用(Stored procedure invocation)。

为了响应数据库更新触,发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS( 数据库管理系统)本身之外进行操作。

 

 

触发器五种类型:

 

其实我们说触发器,名字听起来就感觉很深的样子,想想也就是我们去建立一个黑盒子,黑盒子外面有一个按钮,按钮就是这个触发盒子运行的事件了,盒子中就是与这个按钮有关系的"多米诺按钮了",可以再有其他的逻辑功能(存储过程), 我们数据库中可以建立这样的四个盒子(触发器).