SQL Server 2008数据库应用技术 教学课件 作者 张素青 孙杰 第9章.pptVIP

SQL Server 2008数据库应用技术 教学课件 作者 张素青 孙杰 第9章.ppt

  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文档。上传文档
查看更多
使用系统表sysobjects查看数据库学生选课数据库上存在的所有触发器相关信息。 1.使用sp_rename命令修改触发器的名字。 2.使用SQL Server Management Studio查询分析器窗口中修改触发器定义。 3.通过ALTER TRIGGER命令修改触发器的定义文本。 4.禁止和启用触发器 修改“学生选课”数据库中“学生”表上建立的触发器xuesheng_tri3,使得在用户执行删除、添加、修改操作时,系统均自动给出错误提示,并撤销用户的操作。对应的SQL语句如下: USE 学生选课 GO ALTER TRIGGER xuesheng_tri3 ON 学生 FOR DELETE,INSERT,UPDATE AS BEGIN RAISERROR(对不起,您不能执行操作,10,1) ROLLBACK TRANSACTION END GO (1)使用DROP TRIGGER删除指定的触发器,具体语法格式如下: DROP TRIGGER {trigger} [ ,...n ] (2)删除触发器所在的表时,该表上所有的触发器将被一并删除。 (3)在SQL Server Management Studio中进入“对象资源管理器”面板,找到相应的触发器并用鼠标右键单击,在弹出的菜单中,选择“删除”命令即可直接删除触发器。 第9章 触 发 器 9.1.1 触发器的概念 触发器是一种特殊类型的存储过程,当在指定表中使用UPDATE、INSERT 或 DELETE中的一种或多种数据修改命令对数据进行修改时,触发器就会执行。触发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。 1.触发器的类型 触发器可以分为AFTER触发器和INSTEAD OF触发器。 2. 使用触发器的优点 强制比CHECK约束更复杂的数据完整性。 使用自定义的错误提示信息。 触发器可以通过数据库中的相关表进行级联更改。 比较数据库修改前后数据的状态。 维护规范化数据。 CREATE TRIGGER语句语法格式如下: ? CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { ????{ { FOR | AFTER | INSTEAD OF } { [DELETE] [,INSERT] [,UPDATE] } ????????[ NOT FOR REPLICATION ] ????????AS ????????[ { IF UPDATE ( column ) ????????????[ { AND | OR } UPDATE ( column ) ] ????????????????[ ...n ] ????????| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask ) ????????{ comparison_operator } column_bitmask [ ...n ] ????????} ] ????????sql_statement [ ...n ] ????} } INSERT触发器通常被用来验证被触发器监控的字段中的数据是否满足要求的标准,以确保数据完整性。这种触发器是在向指定的表中插入记录时被自动执行的。创建的INSERT触发器可以分为AFTER和INSTEAD OF两种不同类型的触发器,AFTER类型触发器是在系统执行到INSERT语句时被触发,在INSERT语句执行完毕后再去执行触发器的相关操作;而INSTEAD OF类型触发器是在系统执行到INSERT语句时被触发,但在INSERT语句执行前即执行触发器相关操作,而该INSERT语句则不再执行。 在“学生选课”数据库中的“学生”表上创建一个名为xuesheng_tri1的AFTER类型触发器,当用户向“学生”表中添加一条记录时,提示“已成功向学生表中添加一条记录!” 触发器创建后,用户向“学生”表中插入数据时,该触发器将被执行,而且是数据先被插入到表中,然后再执行触发器。 在“学生选课”数据库中的“学生”表上创建一个名为xuesheng_tri2的INSTEAD OF类型触发器,当用户向“学生”表中添加一条记录时,提示“您未被授权执行插入操作!”同时阻止用户向“学生”表中添加记录。对应的SQL语句如下: USE 学生选课 GO CREATE TRIGGER xuesheng_tri2 ON 学生 INSTEAD OF INSERT AS PRINT 您未被授

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档