龙源期刊网 http://www.qikan.com.cn
SQLServer触发器应用探析
作者:李虎军
来源:《电脑知识与技术》2016年第16期
摘要:该文介绍了触发器类型、特点以及触发器产生的两个临时表,并着重对触发器提高数据完整性的应用及其注意事项进行了阐述,以期对数据库设计者在设计数据库系统时提高数据完整性控制提供有益帮助。
关键词:完整性;触发器;CHECK约束
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)16-0013-02
信息系统开发与运行离不开数据库系统的支持,而对于数据库而言,其存储的数据的正确性至关重要。为确保数据的正确性,各种DBMS都提供了各种方法或机制进行检测、检查。灵活、合理地应用触发器对提高信息系统的数据正确性有很好的帮助。 1 SQL Server触发器
SQL Server触发器是一类特殊存储过程,其由用户定义在数据表上并被事件驱动的由DBMS调用执行的。触发器不能被用户直接调用执行,也不能接收参数。在数据表上或在数据库对象上定义了相应的触发器后,当在数据表中DELETE、INSERT、UPDATE操作或在CREATE、DROP、ALTER数据库对象时将激发并自动执行相应的触发器,使得相应的操作必须满足由触发器所定义的约束规则才能得到成功执行。引起触发器被执行的相应操作和触发器被统一当作一次事务处理。当事务未能整体成功执行,则DBMS会自动回到该事务执行前的状态。触发器可用于各种数据规则、约束和默认值的完整性检查,也可完成更复杂的数据检测和业务逻辑规则。 1.1 触发器分类
按照触发事件的不同,SQL Server触发器可以分为DDL(Data Definition Language)触发器和DML(Data Manipulation Language)触发器两种。
1)DDL触发器用于处理相应的DDL事件。DDL事件有数据库系统用户登录与退出和CREATE、DROP、ALTER语句等操作。DDL触发器可用于审核与规范数据库中对表结构、视图结构上的操作,还可被用于应用系统管理任务。当数据库结构或表结构发生变化时激发触发器,触发器能记录相应的修改过程,并能禁止用户删除指定表、限制用户对数据库修改等操作。
2)DML触发器用于响应用户DML操作事件。DML操作事件是指针对表或视图的INSERT、DELETE和UPDATE操作语句。该类触发器在DML编辑数据时触发执行,在处理