SQL 触发器使用教程和命名规范 1,触发器简介 触发器(Trigger)是数据库对象的一种,编码方式类似存储过程,与某张表(Table)相关联,当有DML 语句对表进行操作时,可以引起触发器的执行,达到对插入记录一致性,正确性和规范性控制的目的
在当年C/S 时代盛行的时候,由于客户端直接连接数据库,能保证数据库一致性的只有数据库本身,此时主键(Primary Key),外键(Foreign Key),约束(Constraint)和触发器成为必要的控制机制
而触发器的实现比较灵活,可编程性强,自然成为了最流行的控制机制
到了B/S 时代,发展成4 层架构,客户端不再能直接访问数据库,只有中间件才可以访问数据库
要控制数据库的一致性,既可以在中间件里控制,也可以在数据库端控制
很多的青睐Java 的开发者,随之将数据库当成一个黑盒,把大多数的数据控制工作放在了Servlet 中执行
这样做,不需要了解太多的数据库知识,也减少了数据库编程的复杂性,但同时增加了Servlet 编程的工作量
从架构设计来看,中间件的功能是检查业务正确性和执行业务逻辑,如果把数据的一致性检查放到中间件去做,需要在所有涉及到数据写入的地方进行数据一致性检查
由于数据库访问相对于中间件来说是远程调用,要编写统一的数据一致性检查代码并非易事,一般采用在多个地方的增加类似的检查步骤
一旦一致性检查过程发生调整,势必导致多个地方的修改,不仅增加工作量,而且无法保证每个检查步骤的正确性
触发器的应用,应该放在关键的,多方发起的,高频访问的数据表上,过多使用触发器,会增加数据库负担,降低数据库性能
而放弃使用触发器,则会导致系统架构设计上的问题,影响系统的稳定性
2,触发器示例 触发器代码类似存储过程,以PL/SQL 脚本编写
下面是一个触发器的示例: 新建员工工资表salary create table S