APP下载

SQL Server数据库中触发器的应用研究

2017-07-29陈雅

电脑知识与技术 2017年12期
关键词:触发器

陈雅

摘要:触发器是SQLServer数据库中用于保证数据完整性的一种重要工具,起着举足轻重的作用。文章介绍了触发器的概念、组成、分类、创建方法及优点等內容。重点通过实例讨论了三种触发器的创建方法。正确、合理地使用触发器,不仅可以增强数据库完整性而且可以提高开发效率。

关键词:触发器;SQL Server

信息系统在实施过程中,会把所有的信息储存在数据库中,因此开发和運行信息系统始终都离不开数据库,且信息系统的可用性与其存取数据是否正确有很大的关系。运用触发器可以允许或限制对表的修改、强制数据满足完整性、允许或限制自动派生列、提供日志作为主要的记录和审核。为了预防一些无效内容记录在内,应该启动复杂业务逻辑,启动触发技术并应用在数据库系统中。深入研究触发器技术,将其应用在数据库系统当中,对于提高信息的准确性和完整性、提高开发效率等方面具有重要意义。本文基于SQL Server数据库的触发器进行应用研究。

1触发器的概念

触发器(Triggcr)在很多机器中只代表了一个储存的过程,一旦数据中发生某种数据库操作事件时由数据库系统自动触发,通常用于加强数据的完整性约束和业务规则等。

触发器与数据库对象紧密相连,不能被直接调用,而是通过事件(如插入、删除、更新、创建等)自动触发、执行。一旦数据库对象的结构或者数据出现了新的变化,那么自动执行检查过程中会考虑整个过程中是否能够满足触发器的需求,对创建触发器创造数据没有任何控制效果。

2触发器的组成

一般触发器时间主要包括三部分,主要包括事件、条件以及动作三个部分。一旦具备的相关条件发生之后,会立即执行事件。引起触发器被触发的事件有DML语句、DDL语句、数据库系统事件、用户事件。条件是按照逻辑思维进行表达的逻辑表达式,如果该表达式值达到TRUE时,会自动执行触发器,让其执行相关触发事件。

3触发器的分类

根据不同的分类方法,触发器被分为不同的类别。按照触发事件的不同,触发器分为DML触发器、DDL触发器和登录触发器3种;根据触发器的触发时间的不同,触发器又分为IN.STEAD OF触发器和AFTER(FOR)触发器两种,INSTEAD OF触发器的动作要早于表的约束(如primarykey约束、foreignkey约束,check约束等)处理,AFTER触发器的动作晚于约束(如primary key约束、foreign key约束,check约束等)处理。每一个表上只能创建一个INSTEAD OF触发器,但可以创建多个AFTER(FOR)触发器。

3.1 DML触发器

DML触发器在执行DML语言时被触发,用于当数据被更新时强制执行完整性检查.DML事件包括对指定表或视图进行的INSERT语句、DELETE语句和UPDA了E语句。

3.2 DDL触发器

DDL触发器用于响应CREATE、ALTER、DROP、GRANT、DENY、REVOKE和UPDATE STATISTICS及执行管理责任.一旦数据库中结构出现了新的变化,很容易激发DDL触发器,触发器可以记录结构修改的过程,监测对数据库架构的操作,防止对数据库架构进行某些修改;DDL触发器能够删除指定关系或者用户关系。DDL触发器只能作为AFTER(FOR)触发器使用。

3.3登录触发器

登录触发器在登录的身份验证阶段完成之后且用户会话实际建立之前激发,是用于响应LOGIN事件的触发器。

猜你喜欢

触发器
主从JK触发器逻辑功能分析
使用触发器,强化安全性
对触发器逻辑功能转换的分析
触发器逻辑功能转换的两种方法