SQLServer2008数据库应用技术(第2版)全套PPT课件.ppt

SQLServer2008数据库应用技术(第2版)全套PPT课件.ppt

  1. 1、本文档共572页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer2008数据库应用技术(第2版)全套PPT课件.pptSQLServer2008数据库应用技术(第2版)全套PPT课件.ppt

本章小结存储过程是一段Transact-SQL语句,用来完成一个功能。使用CREATEPROCEDURE创建存储过程。执行存储过程EXECUTEprocedure_name。创建带输入输出参数的存储过程,需要在CREATEPROCEDURE语句中声明一个或多个变量作为参数修改存储过程是由ALTERPROCEDURE语句来完成的。第9章触发器9.1触发器概述9.1.1触发器的概念触发器是一种特殊类型的存储过程,当在指定表中使用UPDATE、INSERT或DELETE中的一种或多种数据修改命令对数据进行修改时,触发器就会执行。触发器可以查询其他表,而且可以包含复杂的SQL语句。它们主要用于强制复杂的业务规则或要求。触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。9.1.2触发器的类型与优点1.触发器的类型触发器可以分为AFTER触发器和INSTEADOF触发器2.使用触发器的优点强制比CHECK约束更复杂的数据完整性。使用自定义的错误提示信息。触发器可以通过数据库中的相关表进行级联更改。比较数据库修改前后数据的状态。维护规范化数据。9.2创建和应用触发器CREATETRIGGER语句语法格式如下:?CREATETRIGGERtrigger_nameON{table|view}[WITHENCRYPTION]{????{{FOR|AFTER|INSTEADOF}{[DELETE][,INSERT][,UPDATE]}????????[NOTFORREPLICATION]????????AS????????[{IFUPDATE(column)????????????[{AND|OR}UPDATE(column)]????????????????[...n]????????|IF(COLUMNS_UPDATED(){bitwise_operator}updated_bitmask)????????{comparison_operator}column_bitmask[...n]????????}]????????sql_statement[...n]????}}9.2.1INSERT触发器INSERT触发器通常被用来验证被触发器监控的字段中的数据是否满足要求的标准,以确保数据完整性。这种触发器是在向指定的表中插入记录时被自动执行的。创建的INSERT触发器可以分为AFTER和INSTEADOF两种不同类型的触发器,AFTER类型触发器是在系统执行到INSERT语句时被触发,在INSERT语句执行完毕后再去执行触发器的相关操作;而INSTEADOF类型触发器是在系统执行到INSERT语句时被触发,但在INSERT语句执行前即执行触发器相关操作,而该INSERT语句则不再执行。例9-1在“学生选课”数据库中的“学生”表上创建一个名为xuesheng_tri1的AFTER类型触发器,当用户向“学生”表中添加一条记录时,提示“已成功向学生表中添加一条记录!”例9-1触发器创建后,用户向“学生”表中插入数据时,该触发器将被执行,而且是数据先被插入到表中,然后再执行触发器。例9-2在“学生选课”数据库中的“学生”表上创建一个名为xuesheng_tri2的INSTEADOF类型触发器,当用户向“学生”表中添加一条记录时,提示“您未被授权执行插入操作!”同时阻止用户向“学生”表中添加记录。对应的SQL语句如下:USE学生选课GOCREATETRIGGERxuesheng_tri2ON学生INSTEADOFINSERTASPRINT您未被授权执行插入操作!GO例9-2触发器创建成功后,用户向学生表中插入数据时,该触发器将被执行,其结果是用户看到相应提示,但INSERT语句则没有执行。9.2.2UPDATE触发器在定义有UPDATE触发器的表上执行UPDATE语句时,将触发UPDATE触发器。用户可以通过使用该触发器来提示或者限制用户进行更新操作,用户也可以在UPDATE触发器中通过定义IFUPDATE(columnname)语句来实现当用户对表中特定的列更新时操作被阻止,从而来保护特定列的信息。如果用户需要实现多个特定列中的任意一列被更新时操作被阻止,可以在触发器定义中通过使用多个IFUPDATE(columnname)语句在多个特定列上来分别实现。例9-3在“学生选课”数据库中的

文档评论(0)

153****9532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6101234030000022

1亿VIP精品文档

相关文档