触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,
就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:
(1)强化约束(Enforce restriction)
触发器能够实现比CHECK 语句更为复杂的约束。
(2)跟踪变化(Auditing changes)
触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。
(3)级联运行(Cascaded operation)。
存储过程
1. 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程
可提高数据库执行速度。
2. 当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库
提供的事务处理结合一起使用。
3. 存储过程可以重复使用,可减少数据库开发人员的工作量。
4. 安全性高,可设定只有某用户才具有对指定存储过程的使用权。
原文地址:http://www.cnblogs.com/yuyutianxia/p/3858603.html