SQL Server触发器在退耕还林阶段性验收数据管理系统中应用.docVIP

SQL Server触发器在退耕还林阶段性验收数据管理系统中应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server触发器在退耕还林阶段性验收数据管理系统中应用

SQL Server触发器在退耕还林阶段性验收数据管理系统中应用   [摘 要] 本文介绍了SQL Server触发器的基本概念、分类及工作原理,阐述了在解决相关问题时触发器的重要性及方便灵活性,并描述了SQL Server触发器在退耕还林阶段性验收数据管理系统中的实际应用。   [关键词] 触发器 退耕还林 数据管理系统   课题:退耕还林阶段性验收数据管理系统的研究与开发   1.引言   在SQL Server里,可以用两种方法来保证数据的有效性和完整性:约束(check)和触发器(Trigger)。约束是直接设置于数据表内,只能现实一些比较简单的功能操作,如:自动填入默认值、确保字段数据不重复(即主键)、确保数据表对应的完整性(即外键)等功能。触发器是针对数据表(库)的特殊的存储过程,可以处理各种复杂的操作。触发器可以实现比约束更为复杂的数据约束:触发器可以检查SQL所做的操作是否被允许;触发器可以修改其它数据表里的数据;触发器可以调用更多的存储过程;触发器可以发送SQL Mail;触发器可以返回自定义的错误信息;触发器可以更改原本要操作的SQL语句;触发器可以防止数据表构结更改或数据表被删除。   在目前国家大力推进信息化发展战略的大环境下,我们开发适合企业生产活动需求的软件系统,利用SQL Server作为后台数据库开发退耕还林阶段性验收数据管理系统,将退耕还林工程外业数据采集进行信息化、并以数据库的形式存储采集的数据,这对数据后期的整理、分析、统计、输出等都将带来巨大的便利和快捷,从而给林业部门带来切实的生产效率提高,提升他们生产经营活动的信息化水平。而在此系统中,触发器起着重要作用。   2.触发器的概念及分类   触发器实际上就是一种特殊类型的存储过程,它是在执行某些特定的T-SQL语句时自动执行的一种存储过程。当表发生了Insert、Update或Delete操作时,会自动激活执行,可以处理各种复杂的操作。在SQL Server 2005中,触发器有了更进一步的功能,在数据表(库)发生Create、Alter和Drop操作时,也会自动激活执行。   在SQL Server中,触发器可以分为两大类:DML触发器和DDL触发器。   DML触发器是当数据库服务器中发生数据操作语言(Data Manipulation Language)事件时执行的存储过程。DML触发器又分为两类:After触发器和Instead Of触发器。After触发器是在记录已经改变完之后(after),才会被激活执行,它主要是用于记录变更后的处理或检查,一旦发现错误,也可以用Rollback Transaction语句来回滚本次的操作。Instead Of触发器一般是用来取代原本的操作,在记录变更之前发生的,它并不去执行原来SQL语句里的操作(Insert、Update、Delete),而去执行触发器本身所定义的操作。   DDL触发器:DDL触发器是在响应数据定义语言(Data Definition Language)事件时执行的存储过程。DDL触发器是响应Create、 Alter或Drop开头的语句而激活的。一般来说,在以下几种情况下可以使用DDL触发器:数据库里的库架构或数据表架构很重要,不允许被修改;防止数据库或数据表被误操作删除;在修改某个数据表结构的同时修改另一个数据表的相应的结构;要记录对数据库结构操作的事件。   3.触发器的工作原理及建立   (1)常用的DML触发器的工作原理   在SQL Server2005里,为每个DML触发器都定义了两个特殊的表,一个是插入表(inserted),一个是删除表(deleted)。这两个表是建在数据库服务器的内存中的,是由系统管理的逻辑表,而不是真正存储在数据库中的物理表。对于这两个表,用户只有读取的权限,没有修改的权限。这两个表的结构与触发器所在数据表的结构是完全一致的,当触发器的工作完成之后,这两个表也将会从内存中删除。插入表里存放的是更新前的记录:对于插入记录操作来说,插入表里存放的是要插入的数据;对于更新记录操作来说,插入表里存放的是要更新的记录。删除表里存放的是更新后的记录:对于更新记录操作来说,删除表里存放的是更新前的记录(更新完后即被删除);对于删除记录操作来说,删除表里存入的是被删除的旧记录。   After触发器的工作原理:After触发器是在记录变更完之后才被激活执行的。以删除记录为例:当SQL Server接收到一个要执行删除操作的SQL语句时,SQL Server先将要删除的记录存放在删除表里,然后把数据表里的记录删除,再激活After触发器,执行After触发器里的SQL语句。执行完毕之后,删除内存中的删除表,退出整个操

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档