浅谈SQL Server触发器之使用.docVIP

  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触发器之使用.doc

浅谈SQL Server触发器之使用   摘要:在SQL Server数据库中为了对数据库表实施复杂的完整性约束,触发器是比较理想的选择工具。它可以对数据库表进行级联修改,保持数据的一致性。它的执行是由事件来触发,当对一个表进行插入、更新、删除操作时就会激活它执行,从而通过触发器的执行更好地实现数据的完整性约束和业务规则等。   关键词:SQL Serve;数据库;触发器;工作过程;维护   中图分类号:TP313 文献标识码:A 文章编号:1009-3044(2014)32-7582-03   Abstract: In the SQL Server database to form the integrity constraints on the database to implement complex, the trigger is ideal selection tool. It can be cascaded to modify the database table, the maintenance of data consistency. It is implemented by the event to trigger, when on a table to insert, update, delete operations will activate it execution, thus through the execution of triggers to better achieve the integrity constraints andbusiness rules, data etc..   Key words: SQL Serve; database; triggers; work process; maintain   在数据库管理系统中,常常会进行数据的插入、更新、删除等操作,在此操作过程中保持数据的完整性是非常重要的一项工作。当一些普通的维护方法不能满足要求时我们就要考虑用到触发器了。   1 触发器的特点   触发器是一种特殊的存储过程,其特殊性在于它并不需要由用户来直接调用,而是在对表或视图进行插入记录、更改记录或者删除记录时自动执行的。   2 触发器的使用场合   实现对相关表的级联修改;拒绝或回滚违反引用完整性的操作;完成比CHECK约束更复杂的限制;检查修改前后表中数据的不同并执行相应的操作。   3 触发器3种操作的实现过程   DML触发器在执行过程中可以使用两个特殊的临时表―deleted表和inserted表。这两个表存储于内存中,它们在结构上与触发器所在的表的结构相同。   deleted表用于存储delete、update语句所影响的行的副本。在执行delete或update语句时,数据行从触发器表中删除,并传输到deleted表中。   inserted表用于存储insert、update语句所影响的行的副本,在一个插入或更新事务处理中,新建行被同时添加到更新操作的表和insered表中。insered表中的行是触发器表中新行的副本。   两个表由系统管理,不允许用户直接对其进行修改,但可以访问。触发器工作完成后,与该触发器相关的这两个表也将被删除。   现通过实例说明触发器的妙用之处:studentinfo数据库包括学生表student(学号SNO,姓名SNAME,系名DEPART,性别SEX,出生日期DDATE)、课程表Course(课程编号CNO,课程名称CNAME)和成绩表score(学号SNO,课程编号CNO,成绩GRADE)   3.1 Insert触发器的工作过程   Insert触发器是当用INSERT语句向表中插入数据时都会执行的触发器。   当触发INSERT触发器时,新的数据行就会被插入到触发器表和inserted表中。inserted表是一个逻辑表,它包含了已经插入的数据行的一个副本。inserted表包含了INSERT语句中已记录的插入动作。inserted表还允许引用由初始化INSERT语句而产生的日志数据。   例如:创建一个触发器。当向student表中插入一条学生记录时引发该触发器,向scores表中插入两行数据。   Use studentinfo   Go   Create trigger insert_score_trigger   On student   For insert as   Set nocount off   Declare @st_no int   Select @stno=学号 from inserted   Insert into scor

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档