6.6 自定义触发器

6.6 自定义触发器

触发器是一种与表操作有关的数据库对象,触发器是一种特殊的存储过程,不能被显式调用,对表中数据更新时自动调用。它在插入、删除或修改特定表中的数据时触发执行,它比数据库本身的标准功能有更精细和更复杂的数据控制能力。当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器执行。

触发器由三个部分组成,分别是事件、条件和动作:

事件:对数据库对象的一些操作,如对数据表数据的修改、删除和添加等操作;

条件:触发器被触发前必须先对条件进行检查,只有满足触发条件,触发器才能执行;

动作:触发器执行时将要完成功能的代码段。

触发器主要用于监视特定数据表中数据的插入、修改和删除操作,从而触发相应类型的触发器,实现数据的自动维护,以保护数据库数据的完整性。主要有以下两个特点:

①触发器自动执行可通过数据库中的相关表实现级联更改,不过,通过级联引用完整性约束可以更有效地执行这些更改。

②触发器也可以评估数据修改前后的表状态,并根据其差异采取对策。一个表中的多个同类触发器(insert、update或delete)允许采取多个不同的对策以响应同一个修改语句。

触发器作用:

①安全性,可以基于数据库的值,使用户具有操作数据库的某种权利。

②审计,可以跟踪用户对数据库的操作。

③实现复杂的数据完整性规则。

④实现复杂的非标准的数据库相关完整性规则。触发器可以对数据库中相关的表进行连环更新。

⑤同步实时地复制表中的数据。

⑥自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。例如,如果公司账号上的资金低于5万元,则立即给财务人员发送警告数据。