课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了sql数据库的一些基础知识等内容,而本文我们就继续来学习一下,数据库触发器的常见类型与应用。
触发器是一种特殊类型的存储过程,它由事件触发,而不是程序调用或手工启动,当数据库有特殊的操作时,对这些操作由数据库中的事件来触发,自动完成这些SQL语句。使用触发器可以用来保证数据的有效性和完整性,完成比约束更复杂的数据约束。
具体而言,触发器与存储过程的区别见下表。
根据SQL语句的不同,触发器可分为两类:DML触发器和DLL触发器。
DML触发器是当数据库服务器发生数据操作语言事件时执行的存储过程,有After和InsteadOf这两种触发器。After触发器被激活触发是在记录改变之后进行的一种触发器。InsteadOf触发器是在记录变更之前,去执行触发器本身所定义的操作,而不是执行原来SQL语句里的操作。DLL触发器是在响应数据定义语言事件时执行的存储过程。
具体而言,触发器的主要作用表现为如下几个方面:
1)增加安全性。
2)利用触发器记录所进行的修改以及相关信息,跟踪用户对数据库的操作,实现审计。
3)维护那些通过创建表时的声明约束不可能实现的复杂的完整性约束以及对数据库中特定事件进行监控与响应。
4)实现复杂的非标准的数据库相关完整性规则、同步实时地复制表中的数据。
5)触发器是自动的,它们在对表的数据做了任何修改之后就会被激活,例如可以自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。以某企业财务管理为例,如果企业的资金链出现短缺,并且达到某种程度,则发送警告信息。
事前触发发生在事件发生之前验证一些条件或进行一些准备工作;事后触发发生在事件发生之后,做收尾工作,保证事务的完整性。而事前触发可以获得之前和新的字段值。语句级触发器可以在语句执行之前或之后执行,而行级触发在触发器所影响的每一行触发一次。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。